Cod sursa(job #767307)

Utilizator MtkMarianHagrSnaf MtkMarian Data 13 iulie 2012 11:48:05
Problema Reuniune Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 3.62 kb
#include<iostream>
#include<fstream>
using namespace std;

int main()
{
	ifstream f("reuniune.in");
	ofstream g("reuniune.out");
	long long a[4][9],aria=0,aria1,aria2,aria3,x1=0,x2=0,y1=0,y2=0,aria4=0,aria5=0,aria6=0,aria7=0,perm=0,perm1=0,perm2=0,perm3=0,perm4=0,perm5=0,perm6=0,perm7=0;
	bool ok=0;
	for(int i=1;i<=3;i++)
	{
		
		f>>a[i][1]>>a[i][2]>>a[i][3]>>a[i][4];
		a[i][5]=a[i][1];
		a[i][6]=a[i][4];
		a[i][7]=a[i][3];
		a[i][8]=a[i][2];
		
	}

	aria1=(a[1][4]-a[1][2])*(a[1][3]-a[1][1]);
	perm1=2*(a[1][4]-a[1][2])+2*(a[1][3]-a[1][1]);
	aria2=(a[2][4]-a[2][2])*(a[2][3]-a[2][1]);
	perm2=2*(a[2][4]-a[2][2])+2*(a[2][3]-a[2][1]);
	aria3=(a[3][4]-a[3][2])*(a[3][3]-a[3][1]);
	perm3=2*(a[3][4]-a[3][2])+2*(a[3][3]-a[3][1]);
	//cout<<aria1<<endl<<aria2<<endl<<aria3<<endl;

	if(a[1][1]>a[2][1])x1=a[1][1];
	else x1=a[2][1];
	if(a[1][3]<a[2][3])x2=a[1][3];
	else x2=a[2][3];

	if(a[1][2]>a[2][2])y1=a[1][2];
	else y1=a[2][2];
	if(a[1][4]<a[2][4])y2=a[1][4];
	else y2=a[2][4];
	//cout<<x1<<" "<<x2<<" "<<y1<<" "<<y2<<endl;
	
	if(y2>y1||x2>x1)
	{
	//	cout<<x2<<" "<<x1<<" "<<y2<<" "<<y1<<endl;
	aria4=(x2-x1)*(y2-y1);
	if(x2==x1||y2==y1)	perm4=(x2-x1)+(y2-y1);
	
	else	perm4=2*(x2-x1)+2*(y2-y1);
	
	}
	
	else ok=1;


	if(a[1][1]>a[3][1])x1=a[1][1];
	else x1=a[3][1];
	if(a[1][3]<a[3][3])x2=a[1][3];
	else x2=a[3][3];

	if(a[1][2]>a[3][2])y1=a[1][2];
	else y1=a[3][2];
	if(a[1][4]<a[3][4])y2=a[1][4];
	else y2=a[3][4];
	//cout<<x1<<" "<<x2<<" "<<y1<<" "<<y2<<endl;
	if(y2>y1||x2>x1)
	{
		//cout<<x2<<" "<<x1<<" "<<y2<<" "<<y1<<endl;
	aria5=(x2-x1)*(y2-y1);
	if(x2==x1||y2==y1)perm5=2*(x2-x1)+2*(y2-y1);
	else perm5=(x2-x1)+(y2-y1);
	}
	else ok=1;


	if(a[2][1]>a[3][1])x1=a[2][1];
	else x1=a[3][1];
	if(a[2][3]<a[3][3])x2=a[2][3];
	else x2=a[3][3];

	if(a[2][2]>a[3][2])y1=a[2][2];
	else y1=a[3][2];
	if(a[2][4]<a[3][4])y2=a[2][4];
	else y2=a[3][4];
	//cout<<x1<<" "<<x2<<" "<<y1<<" "<<y2<<endl;
	
	if(y2>y1||x2>x1)
	{
	aria6=(x2-x1)*(y2-y1);
	 if(x2==x1||y2==y1)perm6=2*(x2-x1)+2*(y2-y1);
	 else perm6=2*(x2-x1)+2*(y2-y1);
	}
	else ok=1;

	if(ok==0)
	{

	if(a[2][1]>a[3][1]&&a[2][1]>a[1][1])x1=a[2][1];
	else if(a[3][1]>a[2][1]&&a[3][1]>a[2][1] ) x1=a[3][1];
	else x1=a[1][1];

	if(a[2][3]<a[3][3]&&a[2][3]<a[1][3])y2=a[2][3];
	else if(a[3][3]<a[2][3]&&a[3][3]<a[2][3]) y2=a[3][3];
	else y2=a[1][3];

	if(a[2][2]>a[3][2]&&a[2][2]>a[1][2])y1=a[2][2];
	else if(a[3][2]>a[2][2]&&a[3][2]>a[2][2] ) y1=a[3][2];
	else y1=a[1][2];

	if(a[2][4]<a[3][4]&&a[2][4]<a[1][4])y2=a[2][4];
	else if(a[3][4]<a[2][4]&&a[3][4]<a[2][4]) y2=a[3][4];
	else y2=a[1][4];
	//cout<<x1<<" "<<x2<<" "<<y1<<" "<<y2<<endl;
	//cout<<x2<<" "<<x1<<" "<<y2<<" "<<y1<<endl;
	aria7=(x2-x1)*(y2-y1);
	perm7=2*(x2-x1)+2*(y2-y1);
	}



	//cout<<aria4<<endl<<aria5<<endl<<aria6<<endl<<aria7<<endl;

	aria=aria1+aria2+aria3-aria4-aria5-aria6+aria7;
	perm=perm1+perm2+perm3-perm4-perm5-perm6+perm7;
	g<<aria<<" "<<perm<<endl;
/*
	for(int i=1;i<=3;i++)
	{
		g<<endl;
		for(int j=1;j<=8;j++)
			g<<a[i][j]<<" ";
	}
	*/
	//cout<<endl;
	//system("pause");
	return 0;
}
//if(!(((x2-x1)>=((a[2][3]-a[2][1])+(a[3][3]-a[3][1])))||((y2-y1)>=((a[2][4]-a[2][2])+(a[3][4]-a[3][2])))))
/*{
		cout<<!(((x2-x1)>=((a[2][3]-a[2][1])+(a[3][3]-a[3][1])))||((y2-y1)>=((a[2][4]-a[2][2])+(a[3][4]-a[3][2]))))<<endl;
		cout<<((x2-x1)>=((a[2][3]-a[2][1])+(a[3][3]-a[3][1])))<<endl;
		cout<<((y2-y1)>=((a[2][4]-a[2][2])+(a[3][4]-a[3][2])))<<endl;
		
				cout<<(a[2][3]-a[2][1])+(a[3][3]-a[3][1])<<"linie"<<endl;
				
		cout<<(a[2][4]-a[2][2])+(a[3][4]-a[3][2])<<"coloana"<<endl;
		cout<<x2<<" "<<x1<<" "<<y2<<" "<<y1<<endl;
		*/