Pagini recente » Cod sursa (job #2927566) | Cod sursa (job #218693) | Cod sursa (job #1862805) | Cod sursa (job #2736128) | Cod sursa (job #18740)
Cod sursa(job #18740)
#include <fstream>
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
ifstream f1("amlei.in");
ofstream f2("amlei.out");
main()
{
int n, p1[51][501], p2[51][501],t,u,i,j, vec1[501], vec2[501], vecf1[501], vecf2[501];
int aux, k, k2;
bool stop;
while (!f1.eof())
{
f1>>n>>t>>u;
for (i=1; i<=n*t; i++)
{
f1>>aux;
if (abs(aux)==aux)
{
p1[(int)floor((i-1)/3)+1][aux]=1;
//cout<<p1[(int)floor((i-1)/3)+1][aux];
//cout<<(int)floor((i-1)/3)+1<<" "<<aux<<endl;
}
else
{
p1[(int)floor((i-1)/3)+1][abs(aux)]=0;
//cout<<p1[(int)floor((i-1)/3)+1][abs(aux)];
//cout<<(int)floor((i-1)/3)+1<<" "<<abs(aux)<<endl;
}
}
for (i=1; i<=n*u; i++)
{
f1>>aux;
if (abs(aux)==aux)
p2[(int)floor((i-1)/3)+1][aux]=1;
else
p2[(int)floor((i-1)/3)+1][abs(aux)]=0;
}
/*for (i=1; i<=t; i++)
{
for (j=1; j<=n; j++)
cout<<p1[i][j];
cout<<endl;
}*/
for (i=1; i<=t; i++)
{
for (j=n; j>=1; j--)
vec1[i]+=p1[i][j]*pow(2,n-j);
}
for (i=1; i<=u; i++)
{
for (j=n; j>=1; j--)
vec2[i]+=p2[i][j]*pow(2,n-j);
}
while(!stop)
{
stop=true;
for (i=1; i<=t-1; i++)
if (vec1[i]>vec1[i+1])
{
stop=false;
aux=vec1[i];
vec1[i]=vec1[i+1];
vec1[i+1]=aux;
}
}
stop=false;
while(!stop)
{
stop=true;
for (i=1; i<=u-1; i++)
if (vec2[i]>vec2[i+1])
{
stop=false;
aux=vec2[i];
vec2[i]=vec2[i+1];
vec2[i+1]=aux;
}
}
k=1;
vecf1[k]=vec1[1];
for (i=2; i<=t; i++)
if (vecf1[k]!=vec1[i])
{
k++;
vecf1[k]=vec1[i];
}
k2=1;
vecf2[k2]=vec2[1];
for (i=2; i<=u; i++)
if (vecf2[k2]!=vec2[i])
{
k2++;
vecf2[k2]=vec2[i];
}
if (k!=k2)
{
f2<<"NU"<<endl;
}
stop=false;
if (k==k2)
{
for (i=1; i<=k; i++)
{
if (vecf1[i]!=vecf2[i])
{
f2<<"NU"<<endl;
stop=true;
}
if (stop==false)f2<<"DA"<<endl;
}
}
}
}