码迷,mamicode.com
首页 > 其他好文 > 详细

ural 1009

时间:2014-11-15 18:37:30      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   os   sp   for   div   log   

我们定义一个合法的K进制数为一个不含连续两个零的K进制数。

例如:
1010230 是一个合法的7位数。
1000198 不是合法的数。
0001234 不是7位数,是一个合法的4位数。

给你N,和K,求出N位的K进制数的总数。

2 <= K <= 10; N >= 2; 4 <= N+K <= 18。

/*
DP,f[i]代表第i位置 可以表示成的数字的种类, f[i]:=(k-1)*(f[i-1]+f[i-2]) //f[0]:=1,f[1]:=k-1
*/ 
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<vector>
#include<cstdlib>
#include<cmath>
#include<queue>
using namespace std;
int n,k,dp[50];
int main()
{
while(scanf("%d%d",&n,&k)!=EOF)
{
k--; 
dp[0]=1;
dp[1]=k;
for(int i=2;i<=n;i++)
dp[i]=k*(dp[i-1]+dp[i-2]);
printf("%d\n",dp[n]);
}
return 0;
} 

 

ural 1009

标签:style   blog   io   color   os   sp   for   div   log   

原文地址:http://www.cnblogs.com/a972290869/p/4099577.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!