Pagini recente » Cod sursa (job #1454758) | Cod sursa (job #2079017) | Cod sursa (job #2583318) | Cod sursa (job #81514) | Cod sursa (job #1901941)
#include <fstream>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct dreptunghi{
long long x1,y1,x2,y2;}
h,v,y,t,o,p,q;
void intersectie(dreptunghi k, dreptunghi r, dreptunghi &h)
{h.x1=max(k.x1,r.x1);
h.y1=max(k.y1,r.y1);
h.x2=min(k.x2,r.x2);
h.y2=min(k.y2,r.y2);
if(h.x1>h.x2 or h.y1>h.y2){
h.x1=0;
h.x2=0;
h.y1=0;
h.y2=0;}
}
long long arie(dreptunghi u){
return ((u.y2-u.y1)*(u.x2-u.x1));}
long long perimetru (dreptunghi u){
return((u.y2-u.x2)*(u.y1-u.x1))*2;}
long long z,k,sa,sp;
int main()
{f>>v.x1>>v.y1>>v.x2>>v.y2>>t.x1>>t.y1>>t.x2>>t.y2>>y.x1>>y.y1>>y.x2>>y.y2;
intersectie (v,y,h);
intersectie (v,t,o);
intersectie (y,t,p);
intersectie (h,t,q);
sa=arie(v)+arie(y)-arie(h)-arie(o)-arie(p)+arie(q);
sp=perimetru(v)+perimetru(t)+perimetru(y)-perimetru(h)-perimetru(o)-perimetru(p)+perimetru(q);
g<<sa<<' '<<sp;
f.close();
g.close();
return 0;
}