Pagini recente » Cod sursa (job #1349221) | Cod sursa (job #2668202) | Cod sursa (job #219182) | Cod sursa (job #326982) | Cod sursa (job #2458822)
#include<bits/stdc++.h>
#define NAX 200005
using namespace std;
using ll = long long;
const int INF = 1e9 + 5;
void self_max(ll &a, ll b)
{
a = max(a, b);
}
void self_min(int &a, int b)
{
a = min(a, b);
}
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct dr
{
ll x, y, x1, y1, arie, peri;
}v[ 7 ];
void calc(int i)
{
if( v[ i ].x > v[ i ].x1 || v[ i ].y > v[ i ].y1)
return;
v[ i ].arie = abs( v[ i ].x - v[ i ].x1 ) * abs( v[ i ].y - v[ i ].y1);
v[ i ].peri = 2 * (abs( v[ i ].x - v[ i ].x1 ) + abs( v[ i ].y - v[ i ].y1));
}
void citeste(int i)
{
f >> v[ i ].x >> v[ i ].y >> v[ i ].x1 >> v[ i ].y1;
calc( i );
}
void inter(int i, int j, int k)
{
v[ k ].x = max( v[ i ].x, v[ j ].x);
v[ k ].y = max( v[ i ].y, v[ j ].y);
v[ k ].x1 = min( v[ i ].x1, v[ j ].x1);
v[ k ].y1 = min( v[ i ].y1, v[ j ].y1);
calc( k );
}
int main()
{
ios_base::sync_with_stdio(0);
f.tie(0);
for(int i = 0 ; i < 3 ; ++i)
citeste( i );
inter(0, 1, 3);
inter(0, 2, 4);
inter(1, 2, 5);
inter(3, 5, 6);
g << v[ 1 ].arie + v[ 2 ].arie - v[ 3 ].arie + v[ 0 ].arie - v[ 4 ].arie - v[ 5 ].arie + v[ 6 ].arie << ' ' << v[ 1 ].peri + v[ 2 ].peri - v[ 3 ].peri + v[ 0 ].peri - v[ 4 ].peri - v[ 5 ].peri + v[ 6 ].peri;
return 0;
}