1 solutions
-
0
#include<bits/stdc++.h> using namespace std; const int N=15; int a[N][N]; int cnt[N]; int main() { for(int i=0;i<9;i++) { for(int j=0;j<9;j++) { cin>>a[i][j]; } } bool flag=true;//合法状态 for(int i=0;i<9;i++) { for(int k=1;k<=9;k++) cnt[k]=0;//清空数据 for(int j=0;j<9;j++) cnt[a[i][j]]++; //统计第i行的所有数 for(int k=1;k<=9;k++) { if(cnt[k]!=1) flag=false; //不合法 } } for(int j=0;j<9;j++) { for(int k=1;k<=9;k++) cnt[k]=0;//清空数据 for(int i=0;i<9;i++) cnt[a[i][j]]++;//统计第j列的所有数字 for(int k=1;k<=9;k++) { if(cnt[k]!=1) flag=false; } } for(int i=0;i<9;i+=3) { for(int j=0;j<9;j+=3) { for(int k=1;k<=9;k++) cnt[k]=0; //清空小矩阵 for(int dx=0;dx<3;dx++) { for(int dy=0;dy<3;dy++) { cnt[a[i+dx][j+dy]]++; } } for(int k=1;k<=9;k++) { if(cnt[k]!=1) flag=false; } } } if(flag) cout<<"Yes"<<endl; else cout<<"No"<<endl; return 0; }
- 1
Information
- ID
- 2735
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- # Submissions
- 15
- Accepted
- 5
- Uploaded By