URAL1009

链接

第一道URAL题 简单递推

 1 #include <iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<stdlib.h>
 6 using namespace std;
 7 #define LL long long
 8 LL dp[20][20];
 9 int main()
10 {
11     int i,j,n,k,g;
12     LL ans=0;
13     scanf("%d%d",&n,&k);
14     for(i = 0 ; i < k ; i++)
15     dp[1][i] = 1;
16     for(i = 1; i <= n ; i++)
17     {
18         for(g = 0 ; g < k ; g++)
19         {
20             if(g!=0)
21             dp[i][g]+=dp[i-1][0];
22             for(j = 1 ; j < k ; j++)
23             {
24                 dp[i][g]+=dp[i-1][j];
25             }
26         }
27     }
28     for(i = 1 ; i < k ; i++)
29     ans+=dp[n][i];
30     printf("%lld\n",ans);
31     return 0;
32 }
View Code

 

posted @ 2013-09-03 20:01  _雨  阅读(199)  评论(0编辑  收藏  举报