Pagini recente » Cod sursa (job #2633595) | Cod sursa (job #1234894) | Cod sursa (job #2894091) | Cod sursa (job #484532) | Cod sursa (job #484535)
Cod sursa(job #484535)
# include <fstream>
# define min Min
# define max maX
using namespace std;
struct dr{
int x1, x2, y1, y2;
} a, b, c;
long long int A, P;
int min (int x, int y)
{
if (x<y)return x;
return y;
}
int max (int x, int y)
{
if (x>y)return x;
return y;
}
dr inter (dr a, dr b)
{
dr c;
c.x1=max(a.x1,b.x1);
c.y1=max(a.y1,b.y1);
c.x2=min(a.x2,b.x2);
c.y2=min(a.y2,b.y2);
if (c.x1>c.x2 || c.y1>c.y2)
c.x1=c.x2=c.y1=c.y2=0;
return c;
}
long long int arie (dr a)
{
return (a.x2-a.x1)*(a.y2-a.y1);
}
long long int peri (dr a)
{
return 2*(a.x2-a.x1+a.y2-a.y1);
}
int main ()
{
ifstream fin ("reuniune.in");
ofstream fout ("reuniune.out");
fin>>a.x1>>a.y1>>a.x2>>a.y2;
fin>>b.x1>>b.y1>>b.x2>>b.y2;
fin>>c.x1>>c.y1>>c.x2>>c.y2;
A=arie(a)+arie(b)+arie(c)-arie(inter(a, b))-arie(inter(a, c))-arie(inter(b, c))+arie(inter(inter(a, b), c));
P=peri(a)+peri(b)+peri(c)-peri(inter(a, b))-peri(inter(a, c))-peri(inter(b, c))+peri(inter(inter(a, b), c));
fout<<A<<" "<<P;
return 0;
}