Cod sursa(job #424737)

Utilizator SpiderManSimoiu Robert SpiderMan Data 25 martie 2010 09:59:56
Problema Reuniune Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.34 kb
#include <fstream>
using namespace std;

ifstream f("reuniune.in");
ofstream g("reuniune.out");

long long v[20][20];
long long i, j;

void verf(long long i,long long j,long long 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]);
    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(long long i,long long j,long long k,long long 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]);
    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;
}