Cod sursa(job #19426)

Utilizator wefgefAndrei Grigorean wefgef Data 19 februarie 2007 15:27:09
Problema Amlei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.34 kb
#include <cstdio>
#include <vector>
#include <algorithm>

using namespace std;

#define pb push_back
#define sz size()

vector< vector<int> > a, b, c1, c2;
vector<int> v;

int main()
{
	freopen("amlei.in", "r", stdin);
	freopen("amlei.out", "w", stdout);
	
	int n, t, u, i, j, val;
	char bun;
	
	while (scanf("%d %d %d", &n, &t, &u) == 3)
	{
		a.clear();
		b.clear();
		
		for (i = 0; i < t; ++i)
		{
			v.clear();
			for (j = 0; j < n; ++j)
			{
				scanf("%d", &val);
				v.pb(val);
			}
			bun = 1;
			for (j = 0; j < v.sz; ++j)
				if (v[j] == -1) bun = 0;
			if (!bun)
			for (j = 0; j < v.sz; ++j)
				v[j] *= -1;
			sort(v.begin(), v.end());
			a.pb(v);
		}
		
		for (i = 0; i < u; ++i)
		{
			v.clear();
			for (j = 0; j < n; ++j)
			{
				scanf("%d", &val);
				v.pb(val);
			}
			bun = 1;
			for (j = 0; j < v.sz; ++j)
				if (v[j] == -1) bun = 0;
			if (!bun)
			for (j = 0; j < v.sz; ++j)
				v[j] *= -1;
			sort(v.begin(), v.end());
			b.pb(v);
		}
		
		sort(a.begin(), a.end());
		sort(b.begin(), b.end());
		c1.clear();
		c2.clear();
		c1.pb(a[0]);
		for (i = 1; i < a.sz; ++i)
			if (a[i] > a[i-1])
				c1.pb(a[i]);
		c2.pb(b[0]);
		for (i = 1; i < b.sz; ++i)
			if (b[i] > b[i-1])
				c2.pb(b[i]);
		if (c1 == c2) printf("DA\n");
		else printf("NU\n");
	}
	
	return 0;
}