Pagini recente » Cod sursa (job #999838) | Cod sursa (job #2613795) | Cod sursa (job #1225016) | Cod sursa (job #1953175) | Cod sursa (job #2478537)
#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)
{
int 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';
if( T < U )
{
int it, iu;
it = iu = 1;
for( int iu = 1; iu <= U; ++iu )
{
if( CT[it] == CU[iu] )it++;
if( it > T )break;
}
if( it <= T ) fout << "NU" << '\n';
else fout << "DA" << '\n';
}
else
{
int it, iu;
it = iu = 1;
for( int it = 1; it <= T; ++it )
{
if( CT[it] == CU[iu] )iu++;
if( iu > U )break;
}
if( iu <= U ) fout << "NU" << '\n';
else fout << "DA" << '\n';
}
}
}
int main()
{
Read();
return 0;
}