Cod sursa(job #18477)

Utilizator snaked31Stanica Andrei snaked31 Data 18 februarie 2007 12:22:17
Problema Amlei Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 2, Clasa a 10-a Marime 1.52 kb
#include <stdio.h>

#define nm 25010

int i, n, t, u, j, ok, s, s1, s2, s3;
int a[nm], b[nm], c[nm];

void read()

{
	scanf("%d %d %d ", &n, &t, &u);

    for (i=1; i<=n; i++)
    {
    	c[i] = (i+1) % 2;
    }

    for (i=1; i<=n * t; i++)
    {
        scanf("%d ", &a[i]);
    }

    for (i=1; i<=n * u; i++)
    {
    	scanf("%d ", &b[i]);
    }
}


void solve()

{
    ok = 1;

    s = 0;

    for (i=1; i<=t; i++)
    {
    	s1 = 1;
        for (j=1; j<=n; j++)
        {
        	if (a[(i - 1) * n + j] > 0)
            {
            	s1 = s1 & (c[a[(i - 1) * n + j]]);
            }
            else
            {
            	s1 = s1 & (!(c[-a[(i - 1) * n + j]]));
            }
        }
        s = s | s1;
    }

    s2 = 0;

    for (i=1; i<=u; i++)
    {
    	s3 = 1;
        for (j=1; j<=n; j++)
        {
        	if (b[(i - 1) * n + j] > 0)
            {
            	s3 = s3 & (c[b[(i - 1) * n + j]]);
            }
            else
            {
            	s3 = s3 & (!(c[-b[(i - 1) * n + j]]));
            }
        }
        s2 = s2 | s3;
    }

    if (s2 != s)
    	ok = 0;
    
}


void write()

{
    if (ok)
    	printf("DA\n");
    else
    	printf("NU\n");
}


int main()

{
	freopen("amlei.in", "r", stdin);
    freopen("amlei.out","w",stdout);

    read();
    while (!feof(stdin))
    {
    	solve();
    	write();
    	read();
    }
    solve();
    write();

    fclose(stdin);
    fclose(stdout);

	return 0;
}