首页 > 其他 > 详细

HDOJ --1172

时间:2014-04-19 05:35:42      阅读:671      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<string>
 5 #include<fstream>
 6 #include<algorithm>
 7 #define MAXN 105
 8 using namespace std; 
 9 typedef struct{
10     int num[10], a, b;
11     char str[10]; 
12     void Switch(){
13         for(int i = 0; i < 4; i ++)
14             num[i] = str[i]-0; 
15     }
16 }Gusse; 
17 Gusse gg[MAXN];
18 int ans[10], target[10], flag, N; 
19 bool Is_In_num(int i){
20     int num1[10], num2[10], cnt = 0; 
21     memset(num1, 0, sizeof(num1)); 
22     memset(num2, 0, sizeof(num2)); 
23     for(int j = 0; j < 4; j ++) num1[ans[j]]++; 
24     for(int j = 0; j < 4; j ++) num2[gg[i].num[j]]++; 
25     for(int j = 0; j < 10;j ++) if(num1[j] && num2[j]) cnt += min(num1[j], num2[j]); 
26     return cnt == gg[i].a; 
27 }
28 bool Is_Ok_num(int i){
29     int cnt = 0; 
30     for(int j = 0; j < 4; j ++)
31         if(ans[j] == gg[i].num[j]) cnt++; 
32     return cnt == gg[i].b; 
33 }
34 bool OK(){
35     for(int i = 0; i < N; i ++)
36         if(!Is_In_num(i) || !Is_Ok_num(i)) return false;
37     return true; 
38 }
39 void dfs(int cnt){
40     if(cnt == 4){
41         if(OK()){
42             flag++; 
43             for(int i = 0; i < 4; i ++) target[i] = ans[i]; 
44         }
45         return ; 
46     }
47     for(int i = 0; i < 10; i ++){
48         if((cnt + i)){
49             ans[cnt] = i; 
50             dfs(cnt+1); 
51         }
52     }
53 }
54 int main(){
55     freopen("in.c", "r", stdin); 
56     while(~scanf("%d", &N) && N){
57         for(int i = 0; i < N; i ++){
58             scanf("%s%d%d", gg[i].str, &gg[i].a, &gg[i].b); 
59             gg[i].Switch(); 
60         }
61         flag = 0; 
62         dfs(0); 
63         if(flag != 1) printf("Not sure\n"); 
64         else{
65             for(int i = 0; i < 3; i ++) printf("%d", target[i]); 
66             printf("%d\n", target[3]); 
67         }
68     }
69     return 0; 
70 }
bubuko.com,布布扣

 

HDOJ --1172,布布扣,bubuko.com

HDOJ --1172

原文:http://www.cnblogs.com/anhuizhiye/p/3673275.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!