Cod sursa(job #19066)

Utilizator pauldbPaul-Dan Baltescu pauldb Data 18 februarie 2007 18:45:46
Problema Amlei Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <stdio.h>
#include <algorithm>

using namespace std;

#define maxn 5010

int a[maxn],b[maxn];
int n,m,N;

int egal(int x,int y)
{
    int i;
    
    for (i=1;i<=N;i++) 
      if (a[x+i]!=b[y+i]) return 0;
      
    return 1;
}

int main()
{
    freopen("amlei.in","r",stdin);
    freopen("amlei.out","w",stdout);
    
    int i,j,found;
    
    while (!feof(stdin))
    {
          scanf("%d %d %d ",&N,&n,&m);
          for (i=1;i<=n*N;i++) scanf("%d ",&a[i]);
          for (i=1;i<=m*N;i++) scanf("%d ",&b[i]);
          
          for (i=1;i<=n;i++) sort(a+(i-1)*N+1,a+i*N+1);
          for (i=1;i<=m;i++) sort(b+(i-1)*N+1,b+i*N+1);
                    
          for (i=1;i<=n;i++)
          {
            found=0;
            for (j=1;j<=m;j++)
              if (egal((i-1)*N,(j-1)*N)) 
              {
                   found=1;
                   break;
              }
              
            if (!found) 
            {
               printf("NU\n");
               break;
            }
          }
         if (found) printf("DA\n");

    }
    
    return 0;
}