Cod sursa(job #357915)

Utilizator PatrunjeluMarginean Bogdan Alexandru Patrunjelu Data 21 octombrie 2009 09:10:09
Problema Cutii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <fstream.h>
#include <iostream.h>
FILE *in = fopen("cutii.in","r");
FILE *out = fopen("cutii.out","w");
int n, t;
struct cutii { int x; int y; int z;} cutie[3500];
void rezolva();

int main()
{
    fscanf(in,"%d%d",&n,&t);
    for (int i = 1; i <= t; i++)
    {
        for (int j = 1; j <= n; j++)
        {
            fscanf(in,"%d%d%d", &cutie[j].x, &cutie[j].y, &cutie[j].z);           
        }
      rezolva(); 
    } 
    fclose(in); fclose(out);
    return 0;
}

void rezolva()
{
     bool a = true;
     int nrcut = 0;
     int ret;
     while (a)
     {
           ret = -100;
           a = false;
      cutii cu_dim_max;
      cu_dim_max.x = 0; cu_dim_max.y = 0; cu_dim_max.z = 0;
      for (int i = 1; i <= n; i++)
      {
         if ((cutie[i].x > cu_dim_max.x) && (cutie[i].y > cu_dim_max.y) && (cutie[i].z > cu_dim_max.z))
         {
                        a = true;
            cu_dim_max.x = cutie[i].x; cu_dim_max.y = cutie[i].y; cu_dim_max.z = cutie[i].z;
            ret = i;
         }
      } 
      if (ret != -100){
      cutie[ret].x = 0; cutie[ret].y = 0; cutie[ret].z = 0; nrcut++;}
     }
     fprintf(out,"%d\n",nrcut);
}