URAL 1013. K-based Numbers. Version 3
来源:互联网 发布:数据运维服务 编辑:程序博客网 时间:2024/05/22 01:58
题目: 先定义有效的数:第一位不能为0,不能存在相邻的0.问N位K进制数有这样的有效数的数目.
递归公式: f(k)=(k-1)*(f(k-1)+f(k-2))
对k位的数进行分析,第一位有(k-1)种选择,第二位如果是0,则有f(k-2)种情况,第二位如果非0,正好有f(k-1)种情况.
#include <stdio.h>#include <string.h>#include <math.h>const int MAX = 3010;int dp[1800][MAX];int len[MAX];int main(){int n,K;memset(dp,0,sizeof(dp));while( ~scanf("%d%d",&n,&K) ){len[1] = len[2] = 1;dp[1][0] = K-1;dp[2][0] = (K-1)*K;for(int k=3; k<=n; k++){int mlen =len[k-1]>len[k-2]?len[k-1]:len[k-2];for(int j=0; j<mlen; j++)dp[k][j] += (K-1)*(dp[k-1][j] + dp[k-2][j]);j=0;while( dp[k][j] >= 10 ){dp[k][j+1] += dp[k][j]/10;dp[k][j] %= 10;j++;}len[k] = j;}for(int i=len[n]-1; i>=0; i--)printf("%d",dp[n][i]);printf("\n");}return 0;}
转载声明:http://blog.csdn.net/zxy_snow/article/details/6381627
- URAL 1013. K-based Numbers. Version 3
- URAL 1013. K-based Numbers. Version 3
- ural 1013. K-based Numbers. Version 3
- Ural 1012. K-based Numbers. Version 2 &&1013. K-based Numbers. Version 3 DP+高精度
- ural 1013 K-based Numbers. Version 3
- ural 1013 K-based Numbers. Version 3
- URAL 1013 K-based Numbers. Version 3
- ural 1009. K-based Numbers 1012. K-based Numbers. Version 2 1012. K-based Numbers. Version 3
- ural 1013 K-based Numbers. Version 3(升级版)
- URAL 1012. K-based Numbers. Version 2
- ural 1012 K-based Numbers. Version 2
- ural 1012. K-based Numbers. Version 2
- Ural 1012. K-based Numbers. Version 2
- ural 1012. K-based Numbers. Version 2(大数dp)
- URAL 1012K-based Numbers. Version 2 dp+大数
- Ural 1013. K-based Numbers. Version3
- URAL K-based Numbers(1-3)
- 1013. K-based Numbers. Version 2
- 关于图片合成的范例
- AJAX & IE Caching Issues
- Writing an Android Sync Provider: Part 2
- Linux RPC远程调用示例
- android 自定义发彩信实现(不调用系统发彩信界面)
- URAL 1013. K-based Numbers. Version 3
- JavaScript内存释放
- ldd命令原理及用法例子
- 原来失而复得是这样一种心情
- MFC设计局域网对战五子棋游戏(四)GDI+和GDI混合双缓冲绘图
- Socket编程
- flex入门学习笔记
- solr3.6已发布
- win7如何不用点击用户名 直接自动登录桌面