Pagini recente » Cod sursa (job #2295235) | Cod sursa (job #393544) | Cod sursa (job #1438211) | Cod sursa (job #754591) | Cod sursa (job #940063)
Cod sursa(job #940063)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
const int n=3;
int i, v[6];
struct dreptunghi{
int x, X, y, Y;
} a[4];
int aria(){
int arie=0, p, u, i, j;
for(i=1; i<n*2; i++)
{
p=1000000010;
u=-1000000010;
for(j=1; j<=n; j++)
if(a[j].x<=v[i] && a[j].X>=v[i+1])
{
if(p>a[j].y)
p=a[j].y;
if(u<a[j].Y)
u=a[j].Y;
}
arie+=(v[i+1]-v[i])*(u-p);
}
return arie;
}
int perimetru1(){
int peri=0, i;
for(i=1; i<n*2; i++)
peri+=(v[i+1]-v[i])*2;
return peri;
}
int perimetru2(){
int peri=0, i;
for(i=1; i<=n; i++)
{
v[i*2-1]=a[i].y;
v[i*2]=a[i].Y;
}
sort(v+1, v+7);
for(i=1; i<n*2; i++)
peri+=(v[i+1]-v[i])*2;
return peri;
}
int main(){
for(i=1; i<=n; i++)
{
f>>a[i].x>>a[i].y>>a[i].X>>a[i].Y;
v[i*2-1]=a[i].x;
v[i*2]=a[i].X;
}
sort(v+1, v+7);
g<<aria()<<' ';
int x=perimetru1();
x+=perimetru2();
g<<x<<"\n";
return 0;
}