Cod sursa(job #893213)

Utilizator swim406Teudan Adina swim406 Data 26 februarie 2013 13:53:03
Problema Cutii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <stdio.h>

using namespace std;

int main()
{
    freopen ("cutii.in", "r", stdin);
    freopen ("cutii.out", "w", stdout);
    int N, T, i, x[3501], y[3501], z[3501], best[3501], max, j;
    scanf ("%d %d", &N, &T);
    for (int p = 1; p <= T; ++p) {
        for (j = 1; j <= N; ++j) best[j] = 0;
        for (int k = 1; k <= N; ++k)
            scanf ("%d %d %d", &x[k], &y[k], &z[k]);
        best[1] = 1;
        max = 1;
        for (i = 2; i <= N; ++i)
            for (j = i - 1; j >= 1; --j)
                if (x[j] < x[i] && y[j] < y[i] && z[j] < z[i] && best[j] + 1 > best[i]) {
                    best[i] = best[j] + 1;
                    if (best[i] > max)
                        max = best[i];
                    if (best[j] == max) j = 0;
                }
        printf("%d\n", max);
    }
    return 0;
}