Pagini recente » Cod sursa (job #283385) | Cod sursa (job #1837440) | Cod sursa (job #2098150) | Cod sursa (job #542875) | Cod sursa (job #1817512)
#include <fstream>
using namespace std;
int n, i, c, j, x;
int v[51][51], s[51][51], cop[51][51];
ifstream fin("cartele.in");
ofstream fout("cartele.out");
int comp(int a[][51], int b[][51], int n){
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(a[i][j]!=b[i][j])
return 0;
return 1;
}
void rot(int a[][51], int aux[][51], int n){
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[i][j]=aux[j][n-i+1];
}
void vers(int a[][51], int b[][51], int n){
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[n-i+1][j]=b[i][j];
}
int main(){
fin>>n>>c;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++){
fin>>s[i][j];
//cop[i][j]=s[i][j];
} /*
vers(s, cop, n);
for(c=1;c<=n;c++){
for(j=1;j<=n;j++)
fout<<s[c][j]<<" ";
fout<<"\n";
}
fout<<"\n";
for(i=1;i<=3;i++){
rot(s, cop, n);
for(c=1;c<=n;c++){
for(j=1;j<=n;j++)
fout<<s[c][j]<<" ";
fout<<"\n";
}
fout<<"\n";
for(c=1;c<=n;c++)
for(j=1;j<=n;j++)
cop[c][j]=s[c][j];
}*/
for(x=1;x<=c;x++){
char ok=0;
int cop[n+1][n+1];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++){
fin>>v[i][j];
cop[i][j]=v[i][j];
}
if(comp(s, v, n)==1){
fout<<"1\n";
ok=1;
}
else
for(i=1;i<=3;i++){
rot(v, cop, n);
if(comp(v, s, n)==1){
fout<<"1\n";
ok=1;
break;
}
}
if(ok==0){
vers(v, cop, n);
for(i=1;i<=3;i++){
rot(v, cop, n);
if(comp(v, s, n)==1){
fout<<"1\n";
ok=1;
break;
}
}
}
if(ok==0)
fout<<"0\n";
}
return 0;
}
/*
for(x=1;x<=c;x++){
char ok=0;
int aux[n+1][n+1];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++){
fin>>v[i][j];
cop[i][j]=v[i][j];
}
if(comp(s, v, n)==1){
fout<<"1\n";
ok=1;
}
else
for(i=1;i<=3;i++){
rot(v, cop, n);
if(comp(v, s, n)==1){
fout<<"1\n";
ok=1;
break;
}
}
if(ok==0){
vers(v, cop, n);
for(i=1;i<=3;i++){
rot(v, cop, n);
if(comp(v, s, n)==1){
fout<<"1\n";
ok=1;
break;
}
}
}
if(ok==0)
fout<<"0\n";
} */