[FOJ 1896] 神奇的魔法数
来源:互联网 发布:mysql看不到workbench 编辑:程序博客网 时间:2024/05/01 05:58
题目描述
神奇的魔法数
解题思路
参考代码
#include <stdio.h>#include <string.h>#include <math.h>typedef long long ll;int m, dp[15][10];void init(){ memset(dp,0,sizeof(dp)); for (int i = 0; i < 10; i++) dp[1][i] = 1; for (int i = 2; i < 12; i++) for (int j = 0; j < 10; j++) for (int k = 0; k < 10; k++) if (fabs(j-k) >= m) dp[i][j] += dp[i-1][k];}ll Cal(ll x){ int arr[15]={0},cnt = 0; while (x){ arr[++cnt] = (x%10); x /= 10; } ll ans = 0; for (int i = 1;i < cnt;i++) for (int j = 1;j < 10;j++) ans += dp[i][j]; for (int i = 1;i < arr[cnt];i++) ans += dp[cnt][i]; for (int i = cnt-1;i > 0;i--){ for (int j = 0;j < arr[i];j++) if (fabs(j-arr[i+1]) >= m) ans += dp[i][j]; if (fabs(arr[i]-arr[i+1]) < m) break; } return ans;}int main(){ int T; scanf("%d",&T); while (T--){ ll a,b; scanf("%I64d %I64d %d",&a,&b,&m); init(); printf("%I64d\n",Cal(b+1)-Cal(a)); } return 0;}
0 0
- [FOJ 1896] 神奇的魔法数
- 神奇的魔法数
- FZU - 1896 神奇的魔法数
- FZU 1896 — 神奇的魔法数
- FZU 1896 神奇的魔法数( 组队题 )
- FZU 1896 神奇的魔法数 数位DP
- 神奇的“魔法代码”-JavaScript
- JavaScript神奇的魔法代码
- 神奇的JS“魔法代码”
- JavaScript神奇的魔法代码 .
- JavaScript神奇的魔法代码
- fzu 1896 神奇的魔法数字(数位dp)
- 神奇的浮点数
- 神奇的catalan数
- 神奇的Catalan数
- 神奇的花朵数
- Universe7的神奇数
- [FOJ 2123] 数字的孔数
- [未完]散列_分离链接法
- 垃圾邮件和贝叶斯过滤算法
- Put方法实现Mysql向Hbase数据迁移
- NSOperation - 01
- iOS中获取UIWebView的各种信息
- [FOJ 1896] 神奇的魔法数
- bzoj2434: [Noi2011]阿狸的打字机
- hdu杭电 1113 Word Amalgamation
- Hadoop2.4.0 中Eclipse 平台的搭建
- 索罗斯重回亚洲,中美金融战争即将打响
- collection 集合实例
- ZOJ - 2548 Prerequisites?
- 暑假第1周周报
- QTP工具介绍(一)()