Timus 1009. K-based Numbers
2012-09-27 21:18
183 查看
View Code
Memory Limit: 16 MB
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.
/* dp[i][0] i位数字的数首位为0 dp[i][1] i位数字的数首位为1 */ #include<stdio.h> int main() { int n,k; int dp[20][2]; while(~scanf("%d%d",&n,&k)) { dp[1][0]=1; //只有一个数字的数首位为0那就只有0一个数 dp[1][1]=k-1;//只有一个数字的数首位不为0 ,对于k进制就只有k-1个数,除掉0嘛 for(int i=2;i<=16;i++) { dp[i][0]=dp[i-1][1];//i位数的数且首位为0,等于i-1位数的数首位为1的数, dp[i][1]=dp[i-1][0]*(k-1)+dp[i-1][1]*(k-1);//i位数的数且首位为1(即非0),等于i-1位首位为0数的数乘以首位可以放k-1个数(非0)和首位为 非0乘以k-1 } printf("%d\n",dp [1]); } }
1009. K-based Numbers
Time Limit: 1.0 secondMemory Limit: 16 MB
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.
Input
The numbers N and K in decimal notation separated by the line break.Output
The result in decimal notation.Sample
input | output |
---|---|
2 10 | 90 |
相关文章推荐
- Timus 1009. K-based Numbers
- Timus 1009. K-based Numbers
- 1009. K-based Numbers
- Timus 1009 K-based Numbers (DP)
- Lightoj 1009. K-based Numbers(DP)
- URAL 1009. K-based Numbers
- ural 1009. K-based Numbers(dp)
- 1009. K-based Numbers
- Ural(Timus) 1009 K-based Numbers
- ural 1009. K-based Numbers(简单dp)
- ural 1009. K-based Numbers - dp
- URAL 1009. K-based Numbers
- Ural - Timus - 1009 K-based Numbers 题解
- URAL 1009. K-based Numbers
- ural 1009. K-based Numbers 1012. K-based Numbers. Version 2 1012. K-based Numbers. Version 3
- ural 1009. K-based Numbers
- URAL 1009. K-based Numbers(简单递推)
- Ural-1009. K-based Numbers(简单组合数)
- Timus Online Judge1009---K-based Numbers(简单递推dp)
- Timus 1150. Digits