社区讨论
qz
P1205[USACO1.2] 方块转换 Transformations参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @m6vtjin0
- 此快照首次捕获于
- 2025/02/08 14:32 去年
- 此快照最后确认于
- 2025/11/04 09:44 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
struct mat {
char ch[20][20];
};
mat v;
int n;
mat zhuan(mat vv) {
mat v1;
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
v1.ch[j][n-1-i]=vv.ch[i][j];
return v1;
}
mat fan(mat vv) {
for(int i=0; i<n; i++)
for(int j=0; j<n/2; j++) {
char t = vv.ch[i][j];
vv.ch[i][j]=vv.ch[i][n-1-j];
vv.ch[i][n-1-j]=t;
}
return vv;
}
bool cmp(mat a,mat b) {
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
if(a.ch[i][j]!=b.ch[i][j])
return false;
return true;
}
int main() {
mat v1;
cin>>n;
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
cin>>v1.ch[i][j];
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
cin>>v.ch[i][j];
if(cmp(zhuan(v1),v)) cout<<1<<endl;
else if(cmp(zhuan(zhuan(v1)),v)) cout<<2<<endl;
else if(cmp(v,zhuan(zhuan(zhuan(v1))))) cout<<3<<endl;
else if(cmp(v,fan(v1))) cout<<4<<endl;
else if(cmp(v,zhuan(fan(v1)))||cmp(v,zhuan(zhuan(fan(v1))))||cmp(v,zhuan(zhuan(zhuan(fan(v1))))))
cout<<5<<endl;
else if(cmp(v,v1)) cout<<6<<endl;
else cout<<7<<endl;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...