1 条题解
-
1
非常豪婉的一道模拟题只需要写出旋转和对称的函数就AC了~~警示后人
一定要想好旋转的关系再写!!
#include <bits/stdc++.h> using namespace std; int n; bool bef[11][11]={0},aft[11][11]={0},ls[11][11]={0}; void tur() { bool ls_[11][11]; for (int i=1;i<=n;i++){ for (int j=1;j<=n;j++){ /*怎么写呢?请补全*/ } } for (int i=1;i<=n;i++){ for (int j=1;j<=n;j++){ ls[i][j]=ls_[i][j]; } } } void mir() { for (int i=1;i<=n;i++){ for (int j=1;j<=n/2;j++){ bool tmp=ls[i][j]; /*好写得很qwq,你一定会吧?请补全*/ } } } bool jud() { for (int i=1;i<=n;i++){ for (int j=1;j<=n;j++){ if (ls[i][j]!=aft[i][j]){ return 0; } } } return 1; } int main() { cin>>n; for (int i=1;i<=n;i++){ string a; cin>>a; for (int j=1;j<=n;j++){ bef[i][j]=(a[j-1]=='@'); ls[i][j]=bef[i][j]; } } for (int i=1;i<=n;i++){ string a; cin>>a; for (int j=1;j<=n;j++){ aft[i][j]=(a[j-1]=='@'); } } tur(); if (jud()){ cout<<1; return 0; } tur(); if (jud()){ cout<<2; return 0; } tur(); if (jud()){ cout<<3; return 0; } tur();//恢复原状 mir(); if (jud()){ cout<<4; return 0; } tur(); if (jud()){ cout<<5; return 0; } tur(); if (jud()){ cout<<5; return 0; } tur(); if (jud()){ cout<<5; return 0; } tur(),mir();//恢复原状 if (jud()){ cout<<6; return 0; } cout<<7; return 0; }
信息
- ID
- 8
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 27
- 已通过
- 7
- 上传者