Cod sursa(job #222420)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 22 noiembrie 2008 14:28:35
Problema Cutii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <stdio.h>
#include <string.h>
struct cutie {short int x[3];};
long n,t,i,j,k,ind[3501],l[3501],max;
char ch[16];
cutie a[3501];
int main(){
    freopen("cutii.in","r",stdin);freopen("cutii.out","w",stdout);
    scanf("%ld %ld\n",&n,&t);
    for (;t;--t){
        for (i=1;i<=n;++i){
            gets(ch);ch[strlen(ch)]=' ';
            k=0;
            for (j=3;j;--j){
                a[i].x[j-1]=ch[k]-'0';k++;
                while (ch[k]!=' '){
                      a[i].x[j-1]*=10;
                      a[i].x[j-1]+=ch[k]-'0';
                      k++;
                }
                k++;
            }
        }
        for (i=1;i<=n;++i)ind[a[i].x[0]]=i;
        l[1]=1;
        for (i=2;i<=n;++i){
            l[i]=1;
            for (j=1;j<i;++j)
                if (a[ind[i]].x[1]>a[ind[j]].x[1])
                   if (a[ind[i]].x[2]>a[ind[j]].x[2])
                      if (l[j]+1>l[i])l[i]=l[j]+1;
        }
        max=0;
        for (i=1;i<=n;++i)
            if (l[i]>max)max=l[i];
        printf("%ld\n",max);
    }
return 0;
}