Pagini recente » Diferente pentru fmi-no-stress-9-warmup/solutii intre reviziile 15 si 26 | Diferente pentru fmi-no-stress-9-warmup/solutii intre reviziile 11 si 26 | Monitorul de evaluare | Profil Ckody20 | Cod sursa (job #424748)
Cod sursa(job #424748)
#include <fstream>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
long long v[8][8];
int i, j;
void verf(int i,int j,int k)
{
v[i][1] = max(v[j][1],v[k][1]);
v[i][2] = max(v[j][2],v[k][2]);
v[i][3] = min(v[j][3],v[k][3]);
v[i][4] = min(v[j][4],v[k][4]);
if (v[i][3] < v[i][1]) v[i][5]=0,v[i][6]=0;
else v[i][5] = (v[i][3] - v[i][1]) * (v[i][4] - v[i][2]), v[i][6] = 2 * (v[i][3] - v[i][1]) + 2 * (v[i][4] - v[i][2]);
}
void verf1(int i,int j,int k,int l)
{
v[i][1] = max(max(v[j][1],v[k][1]),v[l][1]);
v[i][2] = max(max(v[j][2],v[k][2]),v[l][2]);
v[i][3] = min(min(v[j][3],v[k][3]),v[l][3]);
v[i][4] = min(min(v[j][4],v[k][4]),v[l][4]);
if (v[i][3] < v[i][1]) v[i][5]=0,v[i][6]=0;
else v[i][5] = (v[i][3] - v[i][1]) * (v[i][4] - v[i][2]), v[i][6] = 2 * (v[i][3] - v[i][1]) + 2 * (v[i][4] - v[i][2]);
}
int main()
{
for (i = 1; i <= 3; i++)
for (j = 1; j <= 4; j++)
f >> v[i][j];
for (i = 1; i <= 3; i++)
v[i][5] = (v[i][3] - v[i][1]) * (v[i][4] - v[i][2]), v[i][6] = 2 * (v[i][3] - v[i][1]) + 2 * (v[i][4] - v[i][2]);
verf(4,1,2);
verf(5,1,3);
verf(6,2,3);
verf1(7,1,2,3);
g << (v[1][5] + v[2][5] + v[3][5] - v[4][5] - v[5][5] - v[6][5] + v[7][5]);
g << " " << (v[1][6] + v[2][6] + v[3][6] - v[4][6] - v[5][6] - v[6][6] + v[7][6]);
return 0;
}