Pagini recente » Cod sursa (job #739919) | Cod sursa (job #3258729) | Cod sursa (job #1438042) | Cod sursa (job #2623053) | Cod sursa (job #1496780)
#include <iostream>
#include <fstream>
#define ll long long
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct drept
{
ll xi,xf,yi,yf;
}a,b,c,ab,ac,bc,abc;
void inters(drept s1,drept s2, drept&s3)
{
s3.xi=max(s1.xi,s2.xi);
s3.xf=min(s1.xf,s2.xf);
s3.yi=max(s1.yi,s2.yi);
s3.yf=min(s1.yf,s2.yf);
if(s3.xi>=s3.xf||s3.yi>=s3.yf) s3.xi=s3.xf=s3.yi=s3.yf=0;
}
long long arie (drept s)
{
return (s.xf-s.xi)*1ll*(s.yf-s.yi);
}
long long per (drept s)
{
return 2*((s.xf-s.xi)*1ll+(s.yf-s.yi)*1ll);
}
int main()
{
f>>a.xi>>a.yi>>a.xf>>a.yf;
f>>b.xi>>b.yi>>b.xf>>b.yf;
f>>c.xi>>c.yi>>c.xf>>c.yf;
inters(a,b,ab);
inters(a,c,ac);
inters(b,c,bc);
inters(ab,c,abc);
g<<arie(a)+arie(b)+arie(c)-arie(ab)-arie(ac)-arie(bc)+arie(abc)<<' ';
g<<per(a)+per(b)+per(c)-per(ab)-per(ac)-per(bc)+per(abc);
return 0;
}