Pagini recente » Monitorul de evaluare | Cod sursa (job #2749480) | Cod sursa (job #1703458) | Cod sursa (job #585295) | Cod sursa (job #2257141)
#include <fstream>
using namespace std;
struct dreptunghi{
long long x0,y0,x1,y1;
} d[10];
dreptunghi intersectie(int i,int j)
{
dreptunghi D;
D.x0=max(d[i].x0,d[j].x0);
D.y0=max(d[i].y0,d[j].y0);
D.x1=min(d[i].x1,d[j].x1);
D.y1=min(d[i].y1,d[j].y1);
return D;
}
long long arie(dreptunghi D)
{
if(D.x0>D.x1 or D.y0>D.y1)
return 0;
return (D.x1-D.x0)*(D.y1-D.y0);
}
long long p(dreptunghi D)
{
if(D.x0>D.x1 or D.y0>D.y1)
return 0;
return 2*(D.x1-D.x0)+2*(D.y1-D.y0);
}
int main()
{
ifstream f("reuniune.in");
ofstream g("reuniune.out");
for(int i=1;i<=3;i++)
f>>d[i].x0>>d[i].y0>>d[i].x1>>d[i].y1;
dreptunghi int12=intersectie(1,2);
dreptunghi int13=intersectie(1,3);
dreptunghi int23=intersectie(2,3);
d[4]=int12;
dreptunghi int123=intersectie(3,4);
long long ARIE=arie(d[1])+arie(d[2])+arie(d[3])-arie(int12)-arie(int23)-arie(int13)+arie(int123);
long long P=p(d[1])+p(d[2])+p(d[3])-p(int12)-p(int23)-p(int13)+p(int123);
g<<ARIE<<" "<<P;
return 0;
}