markdown 在线制作ppt json校验和格式化工具

POJ 1579

 1 #include<iostream>
 2 #define MAXN 21
 3 #define NE -1234567
 4 using namespace std;
 5 int dp[MAXN][MAXN][MAXN];
 6 
 7 
 8 int my_fun(int a,int b,int c)
 9 {
10     if(a <= 0 || b<= 0 || c <= 0)
11     {
12         return 1;
13     }
14     else if(a > 20 || b > 20 || c > 20)
15     {
16         if(dp[20][20][20] != NE)
17         {
18             return dp[20][20][20];
19         }
20         else
21         {
22             dp[20][20][20] = my_fun(20,20,20);
23             return dp[20][20][20];
24         }
25     }
26     else if(a < b && b < c)
27     {
28         if(dp[a][b][c-1] != NE && dp[a][b-1][c-1] != NE && dp[a][b-1][c] != NE)
29         {
30             return dp[a][b][c-1] + dp[a][b-1][c-1] - dp[a][b-1][c];
31         }
32         else
33         {
34             dp[a][b][c-1] = my_fun(a,b,c-1);
35             dp[a][b-1][c-1] = my_fun(a,b-1,c-1);
36             dp[a][b-1][c] = my_fun(a,b-1,c);
37             return dp[a][b][c-1] + dp[a][b-1][c-1] - dp[a][b-1][c];
38         }
39     }
40     else
41     {
42         if(dp[a-1][b][c] != NE && dp[a-1][b-1][c] != NE && dp[a-1][b][c-1] != NE && dp[a-1][b-1][c-1] != NE)
43         {
44             return dp[a-1][b][c] + dp[a-1][b-1][c] + dp[a-1][b][c-1] - dp[a-1][b-1][c-1];
45         }
46         else
47         {
48             dp[a-1][b][c] = my_fun(a-1,b,c);
49             dp[a-1][b-1][c] = my_fun(a-1,b-1,c);
50             dp[a-1][b][c-1] = my_fun(a-1,b,c-1);
51             dp[a-1][b-1][c-1] = my_fun(a-1,b-1,c-1);
52             return dp[a-1][b][c] + dp[a-1][b-1][c] + dp[a-1][b][c-1] - dp[a-1][b-1][c-1];
53         }
54     }
55 
56 }
57 
58 int main()
59 {
60     //freopen("acm.acm","r",stdin);
61     int a;
62     int b;
63     int c;
64     int i;
65     int j;
66     int k;
67     for(i = 0; i < MAXN; ++ i)
68     {
69         for(j = 0; j < MAXN ; ++ j)
70         {
71             for(k = 0; k < MAXN; ++ k)
72             {
73                 dp[i][j][k] = NE;
74             }
75         }
76     }
77     while(cin>>a>>b>>c)
78     {
79         if(a == -1 && b == -1 && c == -1)
80             break;
81         cout<<"w("<<a<<", "<<b<<", "<<c<<") = "<<my_fun(a,b,c)<<endl;
82     }
83 }

 

关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。 

技术网站地址: vmfor.com

posted @ 2015-06-10 16:34  GavinHacker  阅读(173)  评论(0编辑  收藏  举报
markdown 在线制作ppt json校验和格式化工具