Cod sursa(job #1901975)

Utilizator Merius001Enache Marius Merius001 Data 4 martie 2017 12:21:48
Problema Reuniune Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>
using namespace std;ifstream f("reuniune.in");ofstream g("reuniune.out");struct dreptunghi{    long long x1,y1,x2,y2;}a,b,c,d,e,q,h; void intersectie(dreptunghi p, dreptunghi q, dreptunghi &r){    r.x1=max(p.x1,q.x1);    r.y1=max(p.y1,q.y1);     r.x2=min(p.x2,q.x2);    r.y2=min(p.y2,q.y2);    if(r.x1>r.x2 || r.y1>r.y2)    {        r.x1=0;        r.y1=0;        r.x2=0;        r.y2=0;    }}long long arie (dreptunghi p){    return ((p.x2-p.x1)*(p.y2-p.y1));} long long perimetru (dreptunghi p){    return(((p.x2-p.x1)+(p.y2-p.y1))*2);} long long z,k,sa,sp;int main(){    f>>a.x1>>a.y1>>a.x2>>a.y2;    f>>b.x1>>b.y1>>b.x2>>b.y2;    f>>c.x1>>c.y1>>c.x2>>c.y2;    intersectie(a,c,d);    intersectie(a,b,e);    intersectie(b,c,q);    intersectie(d,b,h);    sa=arie(a)+arie(b)+arie(c)-arie(d)-arie(e)-arie(q)+arie(h);    sp=perimetru(a)+perimetru(b)+perimetru(c)-perimetru(d)-perimetru(e)-perimetru(q)+perimetru(h);     g<<sa<<' '<<sp;    return 0;}