社区讨论
71分求助!!!!!!!!!!!!!!!!!!!!
P1205[USACO1.2] 方块转换 Transformations参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo30mffc
- 此快照首次捕获于
- 2023/10/23 22:51 2 年前
- 此快照最后确认于
- 2023/10/23 22:51 2 年前
JAVA
#include<bits/stdc++.h>
using namespace std;
int n;
char image1[5005][5005],image2[5005][5005];
char out[5005][5005];
char a[5005][5005],b[5005][5005],c[5005][5005];
int main(){
cin>>n;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>image1[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>image2[i][j];
}
}
for(int i=0,k=0;i<n;i++,k++){
for(int j=n-1,l=0;j>=0;j--,l++){
out[j][i]=image2[k][l];
}
}
bool flag=1;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(image1[i][j]!=out[i][j]){
flag=0;
break;
}
}
}
if(flag==1){
cout<<1;
return 0;
}
flag=1;
for(int i=0,j=n-1;i<n;i++,j--){
for(int k=0,l=n-1;k<n;k++,l--){
out[j][l]=image2[i][k];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(image1[i][j]!=out[i][j]){
flag=0;
break;
}
}
}
if(flag==1){
cout<<2;
return 0;
}
flag=1;
for(int i=0,j=0;i<=n;i++,j++){
for(int k=0,l=n-1;k<n;k++,l--){
out[l][j]=image2[i][k];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(out[i][j]!=image1[i][j]){
flag=0;
break;
}
}
}
if(flag==1){
cout<<3;
return 0;
}
flag=1;
for(int i=0,j=0;i<n;i++,j++){
for(int k=0,l=n-1;k<n;k++,l--){
out[i][k]=image2[j][l];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(out[i][j]!=image1[i][j]){
flag=0;
break;
}
}
}
if(flag==1){
cout<<4;
return 0;
}
flag=1;
for(int i=0,j=0;i<n;i++,j++){
for(int k=0,l=n-1;k<n;k++,l--){
out[i][k]=image2[j][l];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
a[i][j]=out[i][j];
b[i][j]=out[i][j];
c[i][j]=out[i][j];
}
}
for(int i=0,k=0;i<n;i++,k++){
for(int j=n-1,l=0;j>=0;j--,l++){
a[j][i]=out[k][l];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(a[i][j]!=image1[i][j]){
flag=0;
break;
}
}
}
if(flag==1){
cout<<5;
return 0;
}
flag=1;
for(int i=0,k=0;i<n;i++,k++){
for(int j=n-1,l=0;j>=0;j--,l++){
b[j][i]=out[k][l];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(b[i][j]!=image1[i][j]){
flag=0;
break;
}
}
}
if(flag==1){
cout<<5;
return 0;
}
flag=1;
for(int i=0,k=0;i<n;i++,k++){
for(int j=n-1,l=0;j>=0;j--,l++){
c[j][i]=out[k][l];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(c[i][j]!=image1[i][j]){
flag=0;
break;
}
}
}
if(flag==1){
cout<<5;
return 0;
}
flag=1;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(image1[i][j]!=image2[i][j]){
flag=0;
break;
}
}
}
if(flag==1){
cout<<6;
return 0;
}
cout<<7;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...