uva12545

 1 #include<iostream>  
 2 
 3 using namespace std; 
 4  
 5 const int maxn =100+10;  
 6 
 7 char s[maxn],t[maxn];  
 8 
 9 int  main(){  
10     //freopen("10.in", "r", stdin);
11     //freopen("10.out", "w", stdout);
12     int n;  
13     cin >> n;   
14     for(int i = 1; i <= n; i ++){  
15         cin >> s >> t;  
16         cout << "Case " << i << ": ";  
17         int s1 = 0, t1 = 0, q1 = 0, num = 0;  
18         int len = strlen(s);  
19         for(int j = 0; j < len; j ++){
20             if(t[j] == '0') t1 ++;  
21             if(s[j] == '0') s1 ++;  
22             if(s[j] == '?'){  
23                 q1 ++;  
24                 num ++;  
25             }  
26             if(s[j] == '?' && t[j] == '0'){  
27                 s[j] = '0';  
28                 s1 ++;  
29                 q1 --;  
30             }  
31         }  
32         if(s1 + q1 < t1){  
33             cout << "-1" << endl;  
34             continue;  
35         }  
36         int sum = t1 - s1;  
37         int s0 = 0, s2 = 0;  
38         for(int k = 0; k < len; k ++){  
39             if(s[k] == '0' && t[k] == '1') s0++;  
40         }  
41         if(sum > 0){  
42             s0 += sum;  
43         }  
44         num += s0;  
45         cout << num << endl;  
46     }  
47     return 0;  
48 }  
有本事打开啊!!!
原文地址:https://www.cnblogs.com/dfzg/p/7562510.html