Pagini recente » Cod sursa (job #2607125) | Cod sursa (job #2972553) | Cod sursa (job #630559) | Cod sursa (job #3189763) | Cod sursa (job #1901591)
#include <fstream>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct dreptunghi
{
int a;
int b;
int c;
int d;
}h,v,t,r,o,p,q;
void intersectie(dreptunghi k,dreptunghi r,dreptunghi &h)
{
h.a=max(k.a,r.a);
h.b=max(k.b,r.b);
h.c=min(k.c,r.c);
h.d=min(k.d,r.d);
if (h.a>h.c||h.b>h.d)
{
h.a=0;
h.c=0;
h.b=0;
h.d=0;
}
}
int arie (dreptunghi u)
{
return ((u.d-u.b)*(u.c-u.a));
}
int perimetru (dreptunghi u)
{
return (((u.d-u.b)+(u.c-u.a))*2);
}
int z,k,sa,sp;
int main()
{
f>>v.a>>v.b>>v.c>>v.d>>t.a>>t.b>>t.c>>t.d>>r.a>>r.b>>r.c>>r.d;
intersectie (v,r,h);
intersectie (v,t,o);
intersectie (r,t,p);
intersectie (h,t,q);
sa=arie(v)+arie(t)+arie(r)-arie(h)-arie(o)-arie(p)+arie(q);
sp=perimetru(v)+perimetru(t)+perimetru(r)-perimetru(h)-perimetru(o)-perimetru(p)+perimetru(q);
g<<sa<<" "<<sp<<'\n';
return 0;
}