Pagini recente » Cod sursa (job #932504) | Cod sursa (job #582616) | Cod sursa (job #2281184) | Cod sursa (job #1546314) | Cod sursa (job #534859)
Cod sursa(job #534859)
#include <fstream>
#define L long long
using namespace std;
typedef struct {L x1,y1,x2,y2;} dreptunghi;
dreptunghi d1,d2,d3;
L rarie,rperi;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
L arie(dreptunghi a)
{
return (a.x2-a.x1)*(a.y2-a.y1);
}
dreptunghi reun(dreptunghi a, dreptunghi b)
{
dreptunghi q;
q.x1=max(a.x1,b.x1);
q.y1=max(a.y1,b.y1);
q.x2=min(a.x2,b.x2);
q.y2=min(a.y2,b.y2);
if (q.x1>q.x2 || q.y1>q.y2)
q.x1=q.x2=q.y1=q.y2=0;
return q;
}
L per(dreptunghi a)
{
return 2*(a.x2-a.x1+a.y2-a.y1);
}
int main()
{
f>>d1.x1>>d1.y1>>d1.x2>>d1.y2;
f>>d2.x1>>d2.y1>>d2.x2>>d2.y2;
f>>d3.x1>>d3.y1>>d3.x2>>d3.y2;
rarie=arie(d1)+arie(d2)+arie(d3)-arie(reun(d1,d2))-arie(reun(d1,d3))-arie(reun(d2,d3))+arie(reun(reun(d1,d2),d3));
rperi=per(d1)+per(d2)+per(d3)-per(reun(d1,d2))-per(reun(d1,d3))-per(reun(d2,d3))+per(reun(reun(d1,d2),d3));
g<<rarie<<" "<<rperi;
f.close();
g.close();
return 0;
}