Cod sursa(job #2009298)

Utilizator Mircea_DonciuDonciu Mircea Mircea_Donciu Data 9 august 2017 11:22:31
Problema Amlei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.66 kb
#include <cstdio>
#define c 55
#define lm 510

long long a[lm], b[lm], k;
long n, t, u;

int main()
{
    freopen("amlei.in","r",stdin);
    freopen("amlei.out","w",stdout);
    int i,j,x;
    while (scanf("%ld %ld %ld",&n,&t,&u)==3)
    {
        for (i=1; i<=t; a[i++]=0);
        for (i=1; i<=u; b[i++]=0);
        for (i=1; i<=t; i++)
            for (j=1; j<=n; j++)
            {
                scanf("%d",&x);
                if (x<0)
                {
                    x+=c;
                    k=((a[i]>>x)+1)<<x;
                    a[i]=a[i]|k;
                }
            }
        for (i=1; i<=u; i++)
            for (j=1; j<=n; j++)
            {
                scanf("%d",&x);
                if (x<0)
                {
                    x+=c;
                    k=((b[i]>>x)+1)<<x;
                    b[i]|=k;
                }
            }
        bool ok=1;
        bool k;
        for (i=1; i<=t; i++)
        {
            k=0;
            for (j=1; j<=u; j++)
                if (a[i]==b[j])
                {
                    k=1;
                    break;
                }
            if (!k)
            {
                ok=0;
                break;
            }
        }
        for (i=1; i<=u; i++)
        {
            k=0;
            for (j=1; j<=t; j++)
                if (b[i]==a[j])
                {
                    k=1;
                    break;
                }
            if (!k)
            {
                ok=0;
                break;
            }
        }
        if (ok) printf("DA\n"); else printf("NU\n");
    }
    fclose(stdin);
    fclose(stdout);
}