Pagini recente » Cod sursa (job #1493169) | Cod sursa (job #795133) | Cod sursa (job #630806) | Cod sursa (job #1520417) | Cod sursa (job #1039326)
#include <fstream>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
long long Result1,Result2;
struct Rectangle{
int x1;
int y1;
int x2;
int y2;
};
Rectangle D1,D2,D3;
Rectangle Intersect(Rectangle x,Rectangle y)
{
Rectangle result;
result.x1=max(x.x1,y.x1);
result.y1=max(x.y1,y.y1);
result.x2=min(x.x2,y.x2);
result.y2=min(x.y2,y.y2);
if(result.x1>result.x2 || result.y1>result.y2)
result.x1=result.x2=result.y1=result.y2=0;
return result;
}
long long Area(Rectangle x)
{
return (x.x2-x.x1)*(x.y2-x.y1);
}
long long Lenght(Rectangle x)
{
return 2*(x.x2-x.x1+x.y2-x.y1);
}
void Read(Rectangle& x)
{
f>>x.x1>>x.y1>>x.x2>>x.y2;
}
int main()
{
Read(D1);
Read(D2);
Read(D3);
Result1+=Area(D1)+Area(D2)+Area(D3)-Area(Intersect(D1,D2))-Area(Intersect(D2,D3))-Area(Intersect(D1,D3))+Area(Intersect(Intersect(D1,D2),D3));
Result2+=Lenght(D1)+Lenght(D2)+Lenght(D3)-Lenght(Intersect(D1,D2))-Lenght(Intersect(D2,D3))-Lenght(Intersect(D1,D3))+Lenght(Intersect(Intersect(D1,D2),D3));
g<<Result1<<" "<<Result2<<"\n";
return 0;
}