Pagini recente » Cod sursa (job #1848209) | Cod sursa (job #2875065) | Cod sursa (job #2838151) | Cod sursa (job #1335910) | Cod sursa (job #586488)
Cod sursa(job #586488)
#include<stdio.h>
#include<algorithm>
using namespace std;
int x1[10],x2[10],y1[10],y2[10],t[10],r[10],nr,s;
int intersect(int a,int b)
{
t[1]=x1[a];
t[2]=x2[a];
t[3]=x1[b];
t[4]=x2[b];
sort(t+1,t+5);
if ((t[2]==x2[a] && t[3]==x1[b]) || (t[2]==x2[b] && t[3]==x1[a]))
return 0;
r[1]=y1[a];
r[2]=y2[a];
r[3]=y1[b];
r[4]=y2[b];
sort(r+1,r+5);
if ((r[2]==y2[a] && r[3]==y1[b]) || (r[2]==y2[b] && r[3]==y1[a]))
return 0;
x1[++nr]=t[2];
x2[nr]=t[3];
y1[nr]=r[2];
y2[nr]=r[3];
if (a>=b)
s+=2*(t[3]-t[2])+2*(r[3]-r[2]);
else
s-=2*(t[3]-t[2])+2*(r[3]-r[2]);
return (t[3]-t[2])*(r[3]-r[2]);
}
int main()
{
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
scanf("%d%d%d%d%d%d%d%d%d%d%d%d",&x1[1],&y1[1],&x2[1],&y2[1],&x1[2],&y1[2],&x2[2],&y2[2],&x1[3],&y1[3],&x2[3],&y2[3]);
nr=3;
printf("%d %d",intersect(1,1)+intersect(2,2)+intersect(3,3)-intersect(1,2)-intersect(1,3)-intersect(2,3)+intersect(7,3),s);
}