📄 usaco_transform.cpp
字号:
/*
ID:wangyuc2
PROG:transform
LANG:C++
*/
#include <iostream>
#include <fstream>
using namespace std;
char data1[11][11],data2[11][11],data3[11][11],data4[11][11],data5[11][11];
bool check(char aa[11][11],char bb[11][11],int nn);
void zhuanhuan1(char cc[11][11],int nn);
void zhuanhuan2(char cc[11][11],int nn);
void zhuanhuan3(char cc[11][11],int nn);
void zhuanhuan4(char cc[11][11],int nn);
int main()
{
ifstream fin ("transform.in");
ofstream fout ("transform.out");
int i,j,n;
fin >> n;
for (i=1;i<=n;i++) for (j=1;j<=n;j++) fin >> data1[i][j];
for (i=1;i<=n;i++) for (j=1;j<=n;j++) fin >> data2[i][j];
zhuanhuan1(data3,n);
if (check(data2,data3,n)) fout << '1' << endl;
else
{
zhuanhuan2(data3,n);
if (check(data2,data3,n)) fout << '2' << endl;
else
{
zhuanhuan3(data3,n);
if (check(data2,data3,n)) fout << '3' << endl;
else
{
zhuanhuan4(data3,n);
if (check(data2,data3,n)) fout << '4' << endl;
else
{
zhuanhuan4(data4,n);
for (i=1;i<=n;i++) for (j=1;j<=n;j++) data5[i][j]=data1[i][j];
for (i=1;i<=n;i++) for (j=1;j<=n;j++) data1[i][j]=data4[i][j];
zhuanhuan1(data3,n);
if (check(data2,data3,n)) fout << '5' << endl;
else
{
zhuanhuan2(data3,n);
if (check(data2,data3,n)) fout << '5' << endl;
else
{
zhuanhuan3(data3,n);
if (check(data2,data3,n)) fout << '5' << endl;
else if (check(data2,data5,n)) fout << '6' << endl;
else fout << '7' << endl;
}
}
}
}
}
}
fin.close();
fout.close();
return 0;
}
bool check(char aa[11][11],char bb[11][11],int nn)
{
int ii,jj;
for (ii=1;ii<=nn;ii++) for (jj=1;jj<=nn;jj++) if (aa[ii][jj]!=bb[ii][jj]) return false;
return true;
}
void zhuanhuan1(char cc[11][11],int nn)
{
int ii,jj;
for (ii=1;ii<=nn;ii++) for (jj=1;jj<=nn;jj++) cc[jj][nn+1-ii]=data1[ii][jj];
}
void zhuanhuan2(char cc[11][11],int nn)
{
int ii,jj;
for (ii=1;ii<=nn;ii++) for (jj=1;jj<=nn;jj++) cc[nn+1-ii][nn+1-jj]=data1[ii][jj];
}
void zhuanhuan3(char cc[11][11],int nn)
{
int ii,jj;
for (ii=1;ii<=nn;ii++) for (jj=1;jj<=nn;jj++) cc[nn+1-jj][ii]=data1[ii][jj];
}
void zhuanhuan4(char cc[11][11],int nn)
{
int ii,jj;
for (ii=1;ii<=nn;ii++) for (jj=1;jj<=nn;jj++) cc[ii][nn+1-jj]=data1[ii][jj];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -