Cod sursa(job #2644261)

Utilizator TudorChirila11Tudor Chirila TudorChirila11 Data 24 august 2020 09:21:04
Problema Cutii Scor 0
Compilator cpp-64 Status done
Runda prbd2 Marime 0.94 kb
#include <bits/stdc++.h>
#define st first
#define nd second
#define N 3501
using namespace std;
FILE *fin=fopen("cutii.in","r");
FILE *fout=fopen("cutii.out","w");
struct chestie
{
    int x, y, z;
}v[N];
int n, m, i, j, ans, dp[N], t;
bool comp(chestie a, chestie b)
{
    if(a.x!=b.x)
        return a.x<b.x;
    if(a.y!=b.y)
        return a.y<b.y;
    return a.z<b.z;
}
int main()
{
    fscanf(fin,"%d%d",&n,&t);
    while(t--)
    {
        for(i=1;i<=n;++i)
            {
                dp[i]=0;
                fscanf(fin,"%d%d%d",&v[i].x,&v[i].y,&v[i].z);
            }
        sort(v+1,v+n+1,comp);
        dp[1]=1;
        for(i=2;i<=n;++i)
            for(j=1;j<i;++j)
                if(v[i].x>=v[j].x&&v[i].y>=v[j].y&&v[i].z>=v[j].z)
                    dp[i]=max(dp[i],dp[j]+1);
        ans=0;
        for(i=1;i<=n;++i)
            ans=max(ans,dp[i]);
        fprintf(fout,"%d\n",ans);
    }
    return 0;
}