社区讨论
怎么会有4个WA
P1205[USACO1.2] 方块转换 Transformations参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mji64e9p
- 此快照首次捕获于
- 2025/12/23 13:52 3 个月前
- 此快照最后确认于
- 2025/12/25 21:25 2 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
int n;
char a[11][11],b[11][11];
bool same(char a[][11],char b[][11]){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]!=b[i][j]){
return false;
}
}
}
return true;
}
bool r90(char a[][11]){
char mp[11][11];
for(int i=1,x=n;i<=n;i++,x--){
for(int j=1;j<=n;j++){
mp[i][j]=a[j][x];
}
}
return same(mp,b);
}
bool r180(char a[][11]){
char mp[11][11];
for(int i=1,x=n;i<=n;i++,x--){
for(int j=1,y=n;j<=n;j++,y--){
mp[i][j]=a[y][x];
}
}
return same(mp,b);
}
bool r270(char a[][11]){
char mp[11][11];
for(int i=1;i<=n;i++){
for(int j=1,y=n;j<=n;j++,y--){
mp[i][j]=a[y][i];
}
}
return same(mp,b);
}
bool inv(char a[][11]){
char mp[11][11];
for(int i=1;i<=n;i++){
for(int j=1,y=n;j<=n;j++,y--){
mp[i][y]=a[i][j];
}
}
return same(mp,b);
}
bool com(char a[][11]){
char mp[11][11];
for(int i=1;i<=n;i++){
for(int j=1,y=n;j<=n;j++,y--){
mp[i][y]=a[i][j];
}
}
return r90(mp)||r180(mp)||r270(mp);
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>b[i][j];
}
}
if(r90(a)){
cout<<1;
}
else if(r180(a)){
cout<<2;
}
else if(r270(a)){
cout<<3;
}
else if(inv(a)){
cout<<4;
}
else if(com(a)){
cout<<5;
}
else if(same(a,b)){
cout<<6;
}
else{
cout<<7;
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...