1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int a[5][5]; int s[5],t;bool v[5],bk; bool check(int x)//判断预测分数 { int tt=0; for(int i=1;i<=4;i++) if(s[i]==a[x][i]) tt++; return (tt==t);//与题目给出的相同 } void dfs(int x) { if(bk) return; if(x==5) { if(check(1) and check(2) and check(3) and check(4)) { for(int i=1;i<=4;i++)printf("%d ",s[i]); printf("\n"); bk=1; } } else { for(int i=1;i<=4;i++) { if(v[i]==0) { v[i]=1; s[x]=i; dfs(x+1); v[i]=0; } } } } int main() { while(scanf("%d",&a[1][1])!=EOF) { for(int j=2;j<=4;j++)scanf("%d",&a[1][j]); for(int i=2;i<=4;i++) for(int j=1;j<=4;j++) scanf("%d",&a[i][j]); scanf("%d",&t); memset(v,0,sizeof(v)); bk=0;dfs(1); } return 0; }
- 1
信息
- ID
- 756
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 212
- 已通过
- 61
- 上传者