Cod sursa(job #67458)

Utilizator DastasIonescu Vlad Dastas Data 24 iunie 2007 21:52:38
Problema Amlei Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.73 kb
#include <cstdio>
#include <algorithm>
#include <iostream>

#define maxn 25000
#define maxe 101

FILE *in = fopen("amlei.in","r"), *out = fopen("amlei.out","w");
int a[maxn];
int b[maxn];

int ea[maxe];
int eb[maxe];

int ef[maxe];

int main()
{
    int n, t, u;
    int tmp, ka = 0, kb = 0;

    while ( fscanf(in, "%d %d %d", &n, &t, &u) == 3 )
    {
        memset(a, 0, sizeof(a));
        memset(b, 0, sizeof(b));

        memset(ea, 0, sizeof(ea));
        memset(eb, 0, sizeof(eb));

        memset(ef, 0, sizeof(ef));

        ka = 0, kb = 0;

        for ( int i = 0; i < n*t; ++i )
        {
            fscanf(in, "%d", &tmp);
            tmp += 50;
            if ( !ea[tmp] )
            {
                a[ka++] = tmp;
                ea[tmp] = 1;

            }
            ef[tmp] = 1;
        }

        //std::sort(a, a+ka);
        for ( int i = 0; i < ka; ++i )
            printf("%d ", a[i]);
        printf("\n");

        for ( int i = 0; i < n*u; ++i )
        {
            fscanf(in, "%d", &tmp);
            tmp += 50;
            if ( !eb[tmp] )
            {
                b[kb++] = tmp;
                eb[tmp] = 1;

            }
            ef[tmp] = 1;
        }

        //std::sort(b, b+kb);
        for ( int i = 0; i < kb; ++i )
            printf("%d ", b[i]);
        printf("\n");

        int m = ka > kb ? ka : kb;
        int ok = 1;

        for ( int i = 0; i < maxe; ++i )
            if ( ef[i] != eb[i] || ef[i] != ea[i] )
            {
                fprintf(out, "NU\n");
                ok = 0;
                break;
            }

        if ( ok )
            fprintf(out, "DA\n");
        printf("\n");
    }


	return 0;
}