- 小数独验证
这道题怎么解啊x12
- 2024-7-18 11:36:21 @
A0464 R23 T4 0!!!
#include <bits/stdc++.h>
using namespace std;
int a[100][100],sum=0,tue=0,st1[3],st2[3],st3[3],st4[3],t=0;
int main(){
for(int i=1;i<=4;i++){
sum=0;
for(int j=1;j<=4;j++){
cin>>a[i][j];
t=a[i][j]-1;
if(i<=2 && j<=2){
if(a[i][j]==1 && st1[t]==0){
st1[t]++;
sum++;
}
else if(a[i][j]==2 && st1[t]==0){
st1[t]++;
sum++;
}
else if(a[i][j]==3 && st1[t]==0){
st1[t]++;
sum++;
}
else if(a[i][j]==4 && st1[t]==0){
st1[t]++;
sum++;
}
else{
cout<<"no";
return 0;
}
}
if(i<=2 && j>=3){
if(a[i][j]==1 && st2[t]==0){
st2[t]++;
sum++;
}
else if(a[i][j]==2 && st2[t]==0){
st2[t]++;
sum++;
}
else if(a[i][j]==3 && st2[t]==0){
st2[t]++;
sum++;
}
else if(a[i][j]==4 && st2[t]==0){
st2[t]++;
sum++;
}
else{
cout<<"no";
return 0;
}
}
if(i>=3 && j<=2){
if(a[i][j]==1 && st3[t]==0){
st3[t]++;
sum++;
}
else if(a[i][j]==2 && st3[t]==0){
st3[t]++;
sum++;
}
else if(a[i][j]==3 && st3[t]==0){
st3[t]++;
sum++;
}
else if(a[i][j]==4 && st3[t]==0){
st3[t]++;
sum++;
}
else{
cout<<"no";
return 0;
}
}
if(i>=3 && j>=3){
if(a[i][j]==1 && st4[t]==0){
st4[t]++;
sum++;
}
else if(a[i][j]==2 && st4[t]==0){
st4[t]++;
sum++;
}
else if(a[i][j]==3 && st4[t]==0){
st4[t]++;
sum++;
}
else if(a[i][j]==4 && st4[t]==0){
st4[t]++;
sum++;
}
else{
cout<<"no";
return 0;
}
}
}
}
if(sum==16){
cout<<"yes";
}
return 0;
}
2 条评论
-
jiahui SU LV 10 (4952/11452) @ 2024-7-19 16:42:07
#include <bits/stdc++.h> using namespace std; bool ku(vector<vector<int>> &grid) { for (int i = 0; i < 4; i++) { vector<int> ro = grid[i]; sort(ro.begin(), ro.end()); if (ro != vector<int>{1, 2, 3, 4}) { return false; } vector<int> co; for (int j = 0; j < 4; j++) { co.push_back(grid[j][i]); } sort(co.begin(), co.end()); if (co != vector<int>{1, 2, 3, 4}) { return false; } } for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { vector<int>d; for (int x = i * 2; x < i * 2 + 2; x++) { for (int y = j * 2; y < j * 2 + 2; y++) { d.push_back(grid[x][y]); } } sort(d.begin(), d.end()); if (d != vector<int>{1, 2, 3, 4}) { return false; } } } return true; } int main() { vector<vector<int>> grid(4, vector<int>(4)); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { cin >> grid[i][j]; } } if (ku(grid)) { cout << "yes" << endl; } else { cout << "no" << endl; } return 0; }
-
2024-7-18 20:31:39@
#include <bits/stdc++.h> #define int long long using namespace std; int a[4][4]; bool c(int a,int b,int c,int d){ int t[5]={0,0,0,0,0}; t[a]=1;t[b]=1;t[c]=1;t[d]=1; for(int i=1;i<=4;i++){ if(!t[i]) return 0; } return 1; } signed main(){ for(int i=1;i<=4;i++){ for(int j=1;j<=4;j++){ cin>>a[i][j]; } } if(c(a[1][1],a[1][2],a[1][3],a[1][4])&& c(a[2][1],a[2][2],a[2][3],a[2][4])&& c(a[3][1],a[3][2],a[3][3],a[3][4])&& c(a[4][1],a[4][2],a[4][3],a[4][4])&& c(a[1][1],a[2][1],a[3][1],a[4][1])&& c(a[1][2],a[2][2],a[3][2],a[4][2])&& c(a[1][3],a[2][3],a[3][3],a[4][3])&& c(a[1][4],a[2][4],a[3][4],a[4][4])&& c(a[1][1],a[1][2],a[2][1],a[2][2])&& c(a[1][3],a[1][4],a[2][3],a[2][4])&& c(a[3][1],a[3][2],a[4][1],a[4][2])&& c(a[3][3],a[3][4],a[4][3],a[4][4])) cout<<"yes"; else cout<<"no"; return 0; }
- 1
信息
- ID
- 10589
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 116
- 已通过
- 65
- 上传者