Pagini recente » Cod sursa (job #381142) | Cod sursa (job #356259) | Cod sursa (job #636802) | Cod sursa (job #393141) | Cod sursa (job #2230980)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
struct lel{
ll a, b, c, d;
} dp[10], ska;
ll area, perim;
int main(){
ifstream cin ("reuniune.in");
ofstream cout ("reuniune.out");
for (int i=1; i<=3; i++){
cin >> dp[i].a >> dp[i].b >> dp[i].c >> dp[i].d;
area += (dp[i].c - dp[i].a)*(dp[i].d - dp[i].b);
perim += 2*(dp[i].c - dp[i].a + dp[i].d - dp[i].b);
}
ska = dp[1];
for (int i=1; i<3; i++){
for (int j=i+1; j<=3; j++){
ska.a = max(ska.a, dp[j].a); ska.b = max(ska.b, dp[j].b);
ska.c = min(ska.c, dp[j].c); ska.d = min(ska.d, dp[j].d);
ll x = max(dp[i].a, dp[j].a), y = max(dp[i].b, dp[j].b);
ll z = min(dp[i].c, dp[j].c), t = min(dp[i].d, dp[j].d);
if ((z - x) < 0 || (t - y) < 0) continue;
area -= (z-x)*(t-y);
perim -= 2*(z-x + t-y);
}
}
if ((ska.c - ska.a) < 0 || (ska.d - ska.b) < 0) return cout << area << " " << perim, 0;
area += (ska.c - ska.a)*(ska.d - ska.b);
perim += 2*(ska.c - ska.a + ska.d - ska.b);
return cout << area << " " << perim, 0;
}