Pagini recente » Cod sursa (job #3126081) | Cod sursa (job #2539105) | Cod sursa (job #458304) | Cod sursa (job #2521608) | Cod sursa (job #2478540)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
const int NMAX = 51;
const int TMAX = 501;
ifstream fin("amlei.in");
ofstream fout("amlei.out");
int N, T, U;
long long CT[501];
long long CU[501];
void Read()
{
while( fin >> N >> T >> U)
{
long long x;
for( int i = 1; i < TMAX; ++i )CT[i] = CU[i] = 0;
for( int i = 1; i <= T; ++i )
{
for( int n = 1; n <= N; ++n )
{
fin >> x; //fout << CT[i] << ' ' << x << ' ';
if( x > 0 )CT[i] = CT[i] | ( 1LL << x );//fout << CT[i] << '\n';
//else if( CT[i] & ( 1LL << x ) ) CT[i] = CT[i] ^ ( 1LL << x );
}
}
sort(CT+1, CT + T + 1);
for( int i = 1; i <= U; ++i )
{
for( int n = 1; n <= N; ++n )
{
fin >> x;
if( x > 0 )CU[i] = CU[i] | ( 1LL << x );
//else if( CU[i] & ( 1LL << x ) ) CU[i] = CU[i] ^ ( 1LL << x );
}
}
sort(CU + 1, CU + U + 1);
//for( int i = 1; i <= T; ++i )fout << CT[i] << ' '; fout << '\n';
//for( int i = 1; i <= U; ++i )fout << CU[i] << ' '; fout << '\n';
bool ok = true;
for( int i = 0; i < T && ok; ++i )
{
ok = false;
for( int j = 0; j < U; ++j )
if( CT[i] == CU[j] ) { ok = true; break; }
}
if( ok ) fout << "DA\n";
else fout << "NU\n";
}
}
int main()
{
Read();
return 0;
}