Pagini recente » Cod sursa (job #1101017) | Cod sursa (job #2032781) | Cod sursa (job #2169535) | Cod sursa (job #2161093) | Cod sursa (job #1753688)
#include <bits/stdc++.h>
using namespace std;
ifstream in ( "reuniune.in" );
ofstream out( "reuniune.out" );
struct str{ int x1, y1, x2, y2; } r1, r2, r3;
long long a( str r ) { return (r.x2 - r.x1) * 1LL * (r.y2 - r.y1); }
long long p( str r ) { return 2LL * ( (r.x2 - r.x1) + (r.y2 - r.y1) ); }
str i( str r1, str r2 ) {
str r = { max( r1.x1, r2.x1 ), max( r1.y1, r2.y1 ),
min( r1.x2, r2.x2 ), min( r1.y2, r2.y2 ) };
if( r.x1 > r.x2 || r.y1 > r.y2 )
r = { 0, 0, 0, 0 };
return r;
}
int main( void ) {
in >> r1.x1 >> r1.y1 >> r1.x2 >> r1.y2;
in >> r2.x1 >> r2.y1 >> r2.x2 >> r2.y2;
in >> r3.x1 >> r3.y1 >> r3.x2 >> r3.y2;
out << a(r1) + a(r2) + a(r3) - a( i(r1, r2) ) - a( i(r1, r3) ) - a( i(r2, r3) ) + a( i( r1, i(r2, r3) ) ) << " ";
out << p(r1) + p(r2) + p(r3) - p( i(r1, r2) ) - p( i(r1, r3) ) - p( i(r2, r3) ) + p( i( r1, i(r2, r3) ) ) << "\n";
return 0;
}