Cod sursa(job #20146)

Utilizator crusRus Cristian crus Data 20 februarie 2007 19:44:13
Problema Amlei Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include <stdio.h>
#define input "amlei.in"
#define output "amlei.out"
int n,i,t,u,x,bun,j1,j2,i1,i2,excelent,k,aux,gasit;
int v1[501],v2[502];
int main()
{
	FILE *fin,*fout;
	fin=fopen(input,"r");
	fout=fopen(output,"w");
	while (!feof(fin))
		{
		 fscanf(fin,"%d %d %d",&n,&t,&u);
		 for (i=1;i<=n*t;i++)
			 fscanf(fin,"%d",&v1[i]);
		 for (i=1;i<=n*u;i++)
			 fscanf(fin,"%d",&v2[i]);
		 t=t;
		 for (i=1;i<=n*t;i+=n)
			{			
			 for (j1=i;j1<=i+n-1;j1++)
				 for (j2=j1+1;j2<=i+n-1;j2++)
					 if (v1[j1]>v1[j2])
						{
						 aux=v1[j1];
						 v1[j1]=v1[j2];
						 v1[j2]=aux;
						}
			}
		 for (i=1;i<=n*u;i+=n)
			{			
			 for (j1=i;j1<=i+n-1;j1++)
				 for (j2=j1+1;j2<=i+n-1;j2++)
					 if (v2[j1]>v2[j2])
						{
						 aux=v2[j1];
						 v2[j1]=v2[j2];
						 v2[j2]=aux;
						}
			}
		 excelent=1;
		 for (i1=1;i1<=t&&excelent;i1++)
			{
			 gasit=0;
			 for (i2=1;i2<=u&&gasit==0;i2++)
				{
				 bun=1;
			     for (k=1;k<=n&&bun;k++)
				     if (v1[(i1-1)*n+k]!=v2[(i2-1)*n+k]) bun=0;
				 if (bun) gasit=1;
				}
		     excelent*=gasit;
			}				 		 		 
		 if (excelent) fprintf(fout,"DA\n");
		    else fprintf(fout,"NU\n");
		}
	fclose(fin);
	fclose(fout);
	return 0;
}