ural1009(动态规划)
2017-07-18 23:00
204 查看
A - K-based NumbersURAL - 1009
1000198 is not a valid number;
0001235 is not a 7-digit number, it is a 4-digit number.
Given two numbers N and K, you are to calculate an amount of valid K based numbers, containing N digits.You may assume that 2 ≤ K ≤ 10; N ≥ 2; N + K ≤ 18. The numbers N and K in decimal notation separated by the line break.
思路:一位时有k-1种,两位时有k*(k-1)种,从第三位开始每一位都是(k-1)种乘上(dp[i-1]+dp[i-2])故递推式很容易就推出来了。
Let’s consider K-based numbers, containing exactly N digits. We define a number to be valid if its K-based notation doesn’t contain two successive zeros. For example:
1010230 is a valid 7-digit number;1000198 is not a valid number;
0001235 is not a 7-digit number, it is a 4-digit number.
Given two numbers N and K, you are to calculate an amount of valid K based numbers, containing N digits.You may assume that 2 ≤ K ≤ 10; N ≥ 2; N + K ≤ 18. The numbers N and K in decimal notation separated by the line break.
2 10 | 90 |
#include<iostream> #include<string.h> #include<algorithm> #include<stdio.h> using namespace std; long long dp[21]; int n,k,i; int main() { while(~scanf("%d%d",&n,&k)) { dp[1]=k-1; dp[2]=(k-1)*k; for (i=3;i<=n;i++) dp[i]=(k-1)*(dp[i-1]+dp[i-2]); printf("%lld\n",dp ); } return 0; }
相关文章推荐
- URAL 1009|URAL 1012|URAL 1013|K-based Numbers|高精度|动态规划
- ural1009 第一个动态规划(dp)题目 。。。似乎也可以用dfs+记忆化收索 解。。。
- URAL 1009 K-based Numbers (DP动态规划)
- K-based Numbers (URAL 1009)
- 动态规划 URAL 2018
- URAL 1009
- CJOJ 1976 二叉苹果树 / URAL 1018 Binary Apple Tree(树型动态规划)
- URAL1009——DP——K-based Numbers
- 【BZOJ1009】GT考试(KMP算法,矩阵快速幂,动态规划)
- URAL 1009 K-based Numbers dp练习
- URAL 1210 Kind Spirits (DP动态规划)
- (动态规划)ural 1073 Square Country
- ural 1009
- URAL 1002|Phone Numbers|动态规划
- 【BZOJ1009】GT考试(KMP算法,矩阵快速幂,动态规划)
- ural 1009 1012 1013 K-Based Numbers V1.0/2.0/3.0
- URAL 1225 Flags (DP动态规划)
- Ural 1009 K-based Numbers(DP)
- Ural(Timus) 1009 K-based Numbers
- ural1009 数位dp