蓝桥杯 k好数dp
来源:互联网 发布:古典音乐 知乎 编辑:程序博客网 时间:2024/04/30 11:06
算法训练 K好数
时间限制:1.0s 内存限制:256.0MB
问题描述
如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。
输入格式
输入包含两个正整数,K和L。
输出格式
输出一个整数,表示答案对1000000007取模后的值。
样例输入
4 2
样例输出
7
数据规模与约定
对于30%的数据,KL <= 106;
对于50%的数据,K <= 16, L <= 10;
对于100%的数据,1 <= K,L <= 100。
dp[i][j]表示长度i位数为j的个数,由于他们前导计算时0也表示一种,所以相加是,从dp[len][1]开始,正好去掉它
ac代码
#include<stdio.h>#include<string.h>#define mod 1000000007int dp[110][110];int main(){int i,j,k,n,l;while(scanf("%d%d",&n,&l)!=EOF){int sum=0;memset(dp,0,sizeof(dp));for(i=0;i<n;i++){dp[1][i]=1;}for(i=2;i<=l;i++){for(j=0;j<n;j++){for(k=0;k<n;k++){//if(i==2&&j==0&&k==0)//continue;if(k!=j-1&&k!=j+1)dp[i][j]=(dp[i][j]+dp[i-1][k])%mod;}//printf("%d %d %d\n",dp[i][j],i,j);}}/*if(n==1&&l==1){printf("0\n");continue;}*/for(i=1;i<n;i++){sum=(dp[l][i]+sum)%mod;//printf("%d\n",dp[l][i],i);}printf("%d\n",sum);}return 0;}
0 0
- 蓝桥杯 K好数(DP)
- 蓝桥杯 K好数(DP)
- 蓝桥杯 k好数dp
- 蓝桥杯 K好数(DP)
- K好数 dp
- DP-K 好数
- K好数【DP】
- 蓝桥杯 K好数(数位DP)
- 蓝桥杯 K好数(dp)
- DP训练 K好数
- K好数(DP)
- C++ DP K好数
- 蓝桥杯 算法训练 K好数(数位dp)
- 蓝桥杯ALGO-3 K好数(dp)
- 蓝桥杯 K好数 算法训练 (动态规划DP)
- 蓝桥杯-k好数
- 蓝桥杯 k好数
- K好数 蓝桥杯
- 简易的shell ---- MOS 的一个小练习题
- FusionChart 水印破解方法(代码版)
- ASP.NET 实现站内信功能(点对点发送,管理员群发)
- 公司做项目的几点经验总结(个人经验)
- 第17周上机实践项目5——玩日期时间(3)
- 蓝桥杯 k好数dp
- 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)
- 掌握 Ajax,第 10 部分: 使用 JSON 进行数据传输
- 用JqueryUI的Dialog+IFrame实现仿模态窗口效果
- XCode6.1创建空工程
- 杭电oj题库分类
- Hortonworks HDP Sandbox 2.2 修复HBase无法启动的问题
- <android 笔记>通知栏学习2
- 掌握 Ajax,第 11 部分: 服务器端的 JSON