社区讨论
14分117行燃尽了
P1205[USACO1.2] 方块转换 Transformations参与者 3已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mhjajw1a
- 此快照首次捕获于
- 2025/11/03 23:24 4 个月前
- 此快照最后确认于
- 2025/11/03 23:24 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
vector<string> rotate_right(vector<string> a) {
for(int j=0; j<a.size(); j++) {
for(int i=0; i<ceil(a.size()*1.0/2); i++) {
swap(a[i][j],a[a.size()-i-1][j]);
}
}
for(int i=0; i<a.size(); i++) {
for(int j=i; j<a.size(); j++) {
swap(a[i][j],a[j][i]);
}
}
return a;
}
vector<string> rotate_left(vector<string> a) {
for(int i=0; i<a.size(); i++) {
for(int j=i; j<a.size(); j++) {
swap(a[i][j],a[j][i]);
}
}
for(int j=0; j<a.size(); j++) {
for(int i=0; i<ceil(a.size()*1.0/2); i++) {
swap(a[i][j],a[a.size()-i-1][j]);
}
}
return a;
}
vector<string> rotate(vector<string> a) {
for(int j=0; j<a.size(); j++) {
for(int i=0; i<ceil(a.size()*1.0/2); i++) {
swap(a[i][j],a[a.size()-i-1][j]);
}
}
for(int i=0; i<a.size(); i++) {
for(int j=0; j<ceil(a.size()*1.0/2); j++) {
swap(a[i][j],a[i][a.size()-j-1]);
}
}
return a;
}
vector<string> ref(vector<string> a) {
for(int i=0; i<a.size(); i++) {
for(int j=0; j<ceil(a.size()*1.0/2); j++) {
swap(a[i][j],a[i][a.size()-j-1]);
}
}
return a;
}
vector<string> choi(vector<string> a,int m) {
for(int i=0; i<a.size(); i++) {
for(int j=0; j<ceil(a.size()*1.0/2); j++) {
swap(a[i][j],a[i][a.size()-j-1]);
}
}
switch(m) {
case 1:
a=rotate_right(a);
break;
case 2:
a=rotate_left(a);
break;
case 3:
a=rotate(a);
break;
case 4:
a=ref(a);
break;
}
return a;
}
vector<string> a,b;
int n;
int main() {
cin>>n;
for(int i=0; i<n; i++) {
string t;
cin>>t;
a.push_back(t);
}
for(int i=0; i<n; i++) {
string t;
cin>>t;
b.push_back(t);
}
switch(1) {
case 1:
if(rotate_right(a)==b)cout<<1;
break;
case 2:
if(rotate_left(a)==b)cout<<2;
break;
case 3:
if(rotate(a)==b)cout<<3;
break;
case 4:
if(ref(a)==b)cout<<4;
break;
case 5:
int i;
for(i=1; i<=4; i++) {
if(choi(a,i)==b) {
cout<<5;
break;
}
}
if(choi(a,i)==b)break;
case 6:
if(a==b) {
cout<<6;
break;
}
default:
cout<<7;
}
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...