Cod sursa(job #538746)

Utilizator zeroblitz36FMI - Roscaneanu George zeroblitz36 Data 21 februarie 2011 21:20:58
Problema Reuniune Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.57 kb
#include<stdio.h>
FILE *in,*out;
long long int xa1,ya1,xa2,ya2;
long long int xb1,yb1,xb2,yb2;
long long int xc1,yc1,xc2,yc2;
long long int max(long long int a,long long int b,long long int c)
{
 if(a>=b&&a>=c)return a;
 if(b>=a&&b>=c)return b;
 return c; 
}
long long int min(long long int a,long long int b,long long int c)
{
 if(a<=b&&a<=c)return a;
 if(b<=a&&b<=c)return b;
 return c;
}

int main()
{
	in=fopen("reuniune.in","r");
    fscanf(in,"%I64d %I64d %I64d %I64d %I64d %I64d %I64d %I64d %I64d %I64d %I64d %I64d",&xa1,&ya1,&xa2,&ya2,&xb1,&yb1,&xb2,&yb2,&xc1,&yc1,&xc2,&yc2);
	fclose(in);
	out=fopen("reuniune.out","w");
	fprintf(out,"%I64d %I64d",
	(xa2-xa1)*(ya2-ya1)+(xb2-xb1)*(yb2-yb1)+(xc2-xc1)*(yc2-yc1)
	-(min(xa2,xb2,1000000001)-max(xa1,xb1,-1000000001))*(min(ya2,yb2,1000000001)-max(ya1,yb1,-1000000001))
	-(min(xa2,xc2,1000000001)-max(xa1,xc1,-1000000001))*(min(ya2,yc2,1000000001)-max(ya1,yc1,-1000000001))
	-(min(xc2,xb2,1000000001)-max(xc1,xb1,-1000000001))*(min(yc2,yb2,1000000001)-max(yc1,yb1,-1000000001))
	+(min(xa2,xb2,xc2)-max(xa1,xb1,xc1))*(min(ya2,yb2,yc2)-max(ya1,yb1,yc1))
	,
	(xa2-xa1+ya2-ya1)*2+(xb2-xb1+yb2-yb1)*2+(xc2-xc1+yc2-yc1)*2
	-(min(xa2,xb2,1000000001)-max(xa1,xb1,-1000000001)+min(ya2,yb2,1000000001)-max(ya1,yb1,-1000000001))*2
	-(min(xa2,xc2,1000000001)-max(xa1,xc1,-1000000001)+min(ya2,yc2,1000000001)-max(ya1,yc1,-1000000001))*2
	-(min(xc2,xb2,1000000001)-max(xc1,xb1,-1000000001)+min(yc2,yb2,1000000001)-max(yc1,yb1,-1000000001))*2
	+(min(xa2,xb2,xc2)-max(xa1,xb1,xc1)+min(ya2,yb2,yc2)-max(ya1,yb1,yc1))*2);
	fclose(out);
}