Cod sursa(job #711575)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 12 martie 2012 13:20:13
Problema Amlei Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.68 kb
#include<cstdio>
#include<algorithm>
#define N 25001
using namespace std;
int a[N],b[N],n,t,u,i,m,j,l,c[51],e[501][51],d[501][51],r,x,y,k;
int main()
{FILE *f=fopen("amlei.in","r"),*g=fopen("amlei.out","w");
while(!feof(f))
     {fscanf(f,"%d%d%d",&n,&t,&u);
     for(i=1;i<=n*t;i++)
           fscanf(f,"%d",&a[i]);
     for(i=1;i<=n*u;i++)
           fscanf(f,"%d",&b[i]);
     if(feof(f))
           break;
     for(l=0,i=1;i<=n*t;i+=n)
           {for(j=i;j<i+n;j++)
                   c[j-i+1]=a[j];
           sort(c+1,c+n+1),l++;
           for(j=1;j<=n;j++)
                   d[l][j]=c[j];}
     for(r=0,i=1;i<=n*u;i+=n)
           {for(j=i;j<i+n;j++)
                   c[j-i+1]=b[j];
           sort(c+1,c+n+1),r++;
           for(j=1;j<=n;j++)
                   e[r][j]=c[j];}
     for(i=1;i<n;i++)
     for(j=i+1;j<=n;j++)
     for(l=1;l<=t;l++)
     if(d[i][l]>d[j][l])
           for(r=1;r<=t;r++)
                  x=d[i][r],d[i][r]=d[j][r],d[j][r]=x;
     for(i=1;i<n;i++)
     for(j=i+1;j<=n;j++)
     for(l=1;l<=u;l++)
     if(e[i][l]>e[j][l])
           for(r=1;r<=u;r++)
                  x=e[i][r],e[i][r]=e[j][r],e[j][r]=x;
     for(y=i=j=1;i<=t&&j<=u&&y;)
           {for(k=0,l=1;l<=n&&!k;l++)
           if(d[i][l]<e[j][l])
                 k=1;
           else
                 if(d[i][l]>e[j][l])
                        k=-1;
           if(!k)
                 i++,j++;
           else
                 if(k<0)
                        j++;
                 else
                        i++;
           if(l==n&&k)
                 y=0;}
     if(y)
           fprintf(g,"DA\n");
     else
           fprintf(g,"NU\n");}
return 0;}