Cod sursa(job #803465)

Utilizator alexalghisiAlghisi Alessandro Paolo alexalghisi Data 27 octombrie 2012 17:10:56
Problema Cutii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

struct p{
    int a, b, c;
    };

p dp[3505];
bool intra(p cutie,p dest)
{
    return (cutie.a<=dest.a && cutie.b<=dest.b && cutie.c<=dest.c);
}
int main()
{
    int n,t,x;
    ifstream f("cutii.in");
    ofstream g("cutii.out");
    f>>n>>t;
    for(int i=1;i<=t;i++)
    {
        memset(dp,0,sizeof(dp));
        int sz=0;

        for(int j=1;j<=n;j++)
        {
            p cutie;
            f>>cutie.a>>cutie.b>>cutie.c;

            for(int k=sz;k>=0;k--)
                if(intra(dp[k],cutie))
                {
                    if(k+1>sz)
                     {
                        ++sz;
                        dp[k+1]=cutie;
                     }
                     else
                        if(dp[k+1].a<=cutie.a && dp[k+1].b<=cutie.b && dp[k+1].c<=cutie.c)
                            dp[k+1]=cutie;
                    break;
                }
        }
        g<<sz<<endl;
    }
    return 0;
}