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

 

你可能感兴趣的:(r)