博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
K好数
阅读量:6186 次
发布时间:2019-06-21

本文共 794 字,大约阅读时间需要 2 分钟。

【题目描述】

如果一个自然数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%的数据,K^L <= 106;
对于50%的数据,K <= 16, L <= 10;
对于100%的数据,1 <= K,L <= 100。
【分析】
设f[i][j]表示有i位数字且首位数字为j的情况。

var  f:array[1..10000,0..100]of qword;  l,k,i,j,x:longint;  s:qword;begin  read(k,l);    fillchar(f,sizeof(f),0);  for i:=1 to k-1 do f[1,i]:=1;  for i:=2 to l do    for j:=0 to k-1 do begin      for x:=0 to k-1 do              if abs(x-j)<>1 then f[i,j]:=f[i,j]+f[i-1,x];            f[i,j]:=f[i,j] mod 1000000007;        end;  s:=0;  for i:=0 to k-1 do inc(s,f[l,i]);    write(s mod 1000000007);end.

转载于:https://www.cnblogs.com/JRX2015U43/p/6533460.html

你可能感兴趣的文章
一个离开学校三年java架构师
查看>>
页面优化小总结 (图片类型)
查看>>
mysql中sum()与if()联合使用
查看>>
vue-resource安装与应用
查看>>
React编程规范
查看>>
iOS KVC与KVO
查看>>
秋招总结:一篇文章搞定秋招学习规划
查看>>
antd Form组件方法getFieldsValue获取自定义组件的值
查看>>
python爬虫系列(3.2-lxml库的使用)
查看>>
SEO提高网站排名快速见效的方法
查看>>
(十五) 构建springmvc+mybatis+dubbo分布式平台-window安装dubbo管控台
查看>>
Mvp官方示例
查看>>
如何做好一个项目经理
查看>>
Tex之版面布局设计
查看>>
Android调用系统照相机拍摄视频并将其拷贝到制定的文件夹下
查看>>
php的sso单点登录实现方法
查看>>
XenServer需要配置多少网卡
查看>>
ipod无法使用无线网络问题分析
查看>>
Vert.x 提供web API 译<八>
查看>>
gcc 降低版本
查看>>