USACO transform
2017-10-13 14:21
302 查看
#include <iostream>
#include <fstream>
using namespace std;
struct PP{
char a;
bool v;
};
bool fun11(PP a[][100],int);
bool fun12(PP a[][100],int);
bool fun13(PP a[][100],int);
bool fun2(PP a[][100],int);
bool fun3(PP a[][100],int);
bool ifsame(PP a[][100],int,PP c[][100]);
PP ans[100][100];
int main()
{
ifstream cin ("transform.in");
ofstream cout ("transform.out");
PP a[100][100];
int n,i,j;
cin>>n;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>a[i][j].a;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>ans[i][j].a;
if(fun11(a,n)==1)
cout<<"1"<<endl;
else if(fun12(a,n)==1)
cout<<"2"<<endl;
else if(fun13(a,n)==1)
cout<<"3"<<endl;
else if(fun2(a,n)==1)
cout<<"4"<<endl;
else if(fun3(a,n)==1)
cout<<"5"<<endl;
else if(ifsame(a,n,ans)==1)
cout<<"6"<<endl;
else
cout<<"7"<<endl;
return 0;
}
bool fun11(PP a[][100],int num)
{
for(int i=0;i<num;i++)
for(int
j=0;j<num;j++)
if(ans[j][num-1-i].a!=a[i][j].a)
return 0;
return 1;
}
bool fun12(PP a[][100],int num)
{
for(int i=0;i<num;i++)
for(int
j=0;j<num;j++)
if(ans[num-1-i][num-1-j].a!=a[i][j].a)
return 0;
return 1;
}
bool fun13(PP a[][100],int num)
{
for(int i=0;i<num;i++)
for(int
j=0;j<num;j++)
if(ans[num-1-i][i].a!=a[i][j].a)
return 0;
return 1;
}
bool fun2(PP a[][100],int num)
{
for(int i=0;i<num;i++)
for(int
j=0;j<num;j++)
if(ans[i][num-1-j].a!=a[i][j].a)
return 0;
return 1;
}
bool ifsame(PP a[][100],int n,PP c[][100])
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(c[i][j].a!=a[i][j].a)
return
0;
return 1;
}
bool fun3(PP a[][100],int num)
{
PP c[100][100];
for(int i=0;i<num;i++)
for(int
j=0;j<num;j++)
c[i][j]=a[i][num-1-j];
for(int i=0;i<num;i++)
for(int
j=0;j<num;j++)
if(fun12(c,num)==1 ||fun11(c,num)==1
||fun13(c,num)==1)
return 1;
return 0;
}
#include <fstream>
using namespace std;
struct PP{
char a;
bool v;
};
bool fun11(PP a[][100],int);
bool fun12(PP a[][100],int);
bool fun13(PP a[][100],int);
bool fun2(PP a[][100],int);
bool fun3(PP a[][100],int);
bool ifsame(PP a[][100],int,PP c[][100]);
PP ans[100][100];
int main()
{
ifstream cin ("transform.in");
ofstream cout ("transform.out");
PP a[100][100];
int n,i,j;
cin>>n;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>a[i][j].a;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>ans[i][j].a;
if(fun11(a,n)==1)
cout<<"1"<<endl;
else if(fun12(a,n)==1)
cout<<"2"<<endl;
else if(fun13(a,n)==1)
cout<<"3"<<endl;
else if(fun2(a,n)==1)
cout<<"4"<<endl;
else if(fun3(a,n)==1)
cout<<"5"<<endl;
else if(ifsame(a,n,ans)==1)
cout<<"6"<<endl;
else
cout<<"7"<<endl;
return 0;
}
bool fun11(PP a[][100],int num)
{
for(int i=0;i<num;i++)
for(int
j=0;j<num;j++)
if(ans[j][num-1-i].a!=a[i][j].a)
return 0;
return 1;
}
bool fun12(PP a[][100],int num)
{
for(int i=0;i<num;i++)
for(int
j=0;j<num;j++)
if(ans[num-1-i][num-1-j].a!=a[i][j].a)
return 0;
return 1;
}
bool fun13(PP a[][100],int num)
{
for(int i=0;i<num;i++)
for(int
j=0;j<num;j++)
if(ans[num-1-i][i].a!=a[i][j].a)
return 0;
return 1;
}
bool fun2(PP a[][100],int num)
{
for(int i=0;i<num;i++)
for(int
j=0;j<num;j++)
if(ans[i][num-1-j].a!=a[i][j].a)
return 0;
return 1;
}
bool ifsame(PP a[][100],int n,PP c[][100])
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(c[i][j].a!=a[i][j].a)
return
0;
return 1;
}
bool fun3(PP a[][100],int num)
{
PP c[100][100];
for(int i=0;i<num;i++)
for(int
j=0;j<num;j++)
c[i][j]=a[i][num-1-j];
for(int i=0;i<num;i++)
for(int
j=0;j<num;j++)
if(fun12(c,num)==1 ||fun11(c,num)==1
||fun13(c,num)==1)
return 1;
return 0;
}
相关文章推荐
- 霍夫变换(Hough Transform)
- CSS3&nbsp;Transition&nbsp;Transform&nbsp;Animat…
- USACO&nbsp;2.1&nbsp;顺序的分数
- USACO&nbsp;2.1&nbsp;健康的好斯坦奶牛
- HDU 4277 USACO ORZ
- usaco chapter 2.1 castle
- USACO&nbsp;2.2&nbsp;派对灯
- USACO&nbsp;3.1&nbsp;Agri-Net&nbsp;最短网络
- usaco_ calfflac最长回文字串 中点枚举&动规
- usaco chapter1:4,5 (1)
- USACO&nbsp;2.3&nbsp;和为零
- USACO&nbsp;3.1&nbsp;Agri-Net&nbsp;最短网络
- 【css3】transform&nbsp;下&nbsp;p…
- USACO&nbsp;1.1&nbsp;破碎的项链
- USACO&nbsp;2.4&nbsp;分数化小数
- USACO Milking Cows
- transform<usaco>1.2<水>(结构体的比较memcmp(&square1,&square3,sizeof(ttt)))
- USACO&nbsp;1.1&nbsp;贪婪的礼物送礼者
- 【RMQ&LCA】[Usaco2010 Hol]cowpol…
- USACO Calf Flac