Pagini recente » Cod sursa (job #2017351) | Cod sursa (job #3190156) | Cod sursa (job #1581684) | Cod sursa (job #2023121) | Cod sursa (job #1762550)
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE *f1=fopen("reuniune.in","r");
FILE *f2=fopen("reuniune.out","w");
long long xp1[4],yp1[4],xp2[4],yp2[4],aries,perims,i;
long long arie(int i){
return (yp2[i]-yp1[i])*(xp2[i]-xp1[i]);
}
long long perim(int i){
return 2*(yp2[i]-yp1[i])+2*(xp2[i]-xp1[i]);
}
int intersectie(int i,int j){
yp2[0]=min(yp2[i],yp2[j]);
yp1[0]=max(yp1[i],yp1[j]);
xp2[0]=min(xp2[i],xp2[j]);
xp1[0]=max(xp1[i],xp1[j]);
if (xp1[0]>xp2[0] || yp1[0]>yp2[0]) return 0;
return 1;
}
int main(){
for (i=1;i<=3;i++){
fscanf(f1,"%lld%lld%lld%lld",&xp1[i],&yp1[i],&xp2[i],&yp2[i]);
aries=aries+arie(i);
perims=perims+perim(i);
}
aries=aries-intersectie(1,2)*arie(0);
aries=aries-intersectie(1,3)*arie(0);
aries=aries-intersectie(2,3)*arie(0);
aries=aries+intersectie(0,1)*arie(0);
perims=perims-intersectie(1,2)*perim(0);
perims=perims-intersectie(1,3)*perim(0);
perims=perims-intersectie(2,3)*perim(0);
perims=perims+intersectie(0,1)*perim(0);
fprintf(f2,"%lld %lld",aries,perims);
fclose(f1);
fclose(f2);
return 0;
}