hdu4811 Ball

题目略坑。

因为细节问题wa了几次。

 

acm.hdu.edu.cn/showproblem.php?pid=4811

 

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 
 5 using namespace std;
 6 typedef __int64 LL;
 7 
 8 
 9 LL ans, a[3];
10 
11 void solve(){
12     sort(a, a + 3);
13     LL sum = 0;
14     for(int i = 0; i < 3; i++) sum += a[i];
15     LL ans = 0;
16     //discuss::
17     //2+2+2+;1,2+,2+;1,1,2+;1,1,1;
18     //0,2+,2+;0,1,2+;0,1,1;0,0,2+;0,0,1;0,0,0;
19     if(a[0] > 1){
20         ans = (sum - 6) * 6 + 15;
21     }
22     else if(a[0] > 0 && a[1] > 1){
23         ans = (sum - 5) * 5 + 10;
24     }
25     else if(a[0] > 0 && a[2] > 1){
26         ans = (sum - 4) * 4 + 6;
27     }
28     else if(a[0] > 0){
29         ans = 3;
30     }
31     else if(a[1] > 1){
32         ans = (sum - 4) * 4 + 6;
33     }
34     else if(a[1] > 0 && a[2] > 1){
35         ans = (sum - 3) * 3 + 3;
36     }
37     else if(a[1] > 0){
38         ans = 1;
39     }
40     else if(a[2] > 1){
41         ans = (sum - 2) * 2 + 1;
42     }
43     else if(a[2] > 0){
44         ans = 0;
45     }
46     else ans = 0;
47     printf("%I64d\n", ans);
48 }
49 
50 int main(){
51     while(~scanf("%I64d%I64d%I64d", &a[0], &a[1], &a[2])) solve();
52     return 0;
53 }
View Code

 

posted @ 2015-08-18 22:11  astoninfer  阅读(185)  评论(0编辑  收藏  举报