hdu3555 Bomb 数位dp

//3555

//题意:统计 1 到 n 中包含 49 的数的个数

 1 #include "bits\stdc++.h"
 2 using namespace std;
 3 __int64 dp[22][3];
 4 
 5 int main()
 6 {
 7     int i;
 8     dp[0][0] = 1;
 9     for(i = 1; i <= 20; ++i) {
10         dp[i][0] = dp[i - 1][0] * 10 - dp[i - 1][1] * 1;
11         dp[i][1] = dp[i - 1][0] * 1;
12         dp[i][2] = dp[i - 1][1] * 1 + dp[i - 1][2] * 10;
13     }
14     int T;
15     scanf("%d", &T);
16     while(T--) {
17         __int64 n;
18         scanf("%I64d", &n);
19         int len = 0;
20         int digit[22];
21         memset(digit, 0, sizeof(digit));
22         ++n;
23         while(n) {
24             ++len;
25             digit[len] = n % 10;
26             n /= 10;
27         }
28         __int64 res = 0;
29         bool _49 = 0;
30         for(i = len; i >= 1; --i) {
31             //如果已经出现 49 ,则加上第 i 位 -1 后所有数的个数
32             if(_49) {
33                 res += (dp[i - 1][0] + dp[i - 1][2]) * digit[i];
34             }
35             //如果未出现 49, 则加上第 i 位 -1 后所有符合要求的数的个数
36             else {
37                 res += dp[i - 1][2] * digit[i];
38                 if(digit[i] > 4)
39                     res += dp[i - 1][1] * 1;
40                 if(digit[i + 1] == 4 && digit[i] == 9)
41                     _49 = 1;
42             }
43             //下一次循环处理,第 i 位 == 原数的情况
44         }
45         printf("%I64d\n", res);
46     }
47 }

 

转载于:https://www.cnblogs.com/AC-Phoenix/p/4425665.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“AS3.0高级动画编程”学习:第二章转向行为(下)

在上一篇里&#xff0c;我们学习了“自主角色”的一些基本行为&#xff1a;寻找(seek)、避开(flee)、到达(arrive)、追捕(pursue)、躲避(evade)、漫游(wander)。这一篇将继续学习其它更复杂&#xff0c;更高级的行为。 一、对象回避(object avoidance) 对象回避的正式解释为&am…

ruby scala python_解释一个基准在C,Clojure,Python,Ruby,Scala和其他

免责声明我知道人工基准是邪恶的。它们只能针对非常特定的狭窄情况显示结果。我不认为一种语言比另一种语言更好&#xff0c;因为一些愚蠢的长凳。然而&#xff0c;我不知道为什么结果是如此不同。请在底部查看我的问题。数学基准描述基准是简单的数学计算&#xff0c;找到不同…

[Python]两个list对应元素操作(相减)

两个list的对应元素操作&#xff0c;这里以相减为例&#xff1a; # codinggbkv1 [21, 34, 45] v2 [55, 25, 77]#v v2 - v1 # Error: TypeError: unsupported operand type(s) for -: list and list v list(map(lambda x: x[0]-x[1], zip(v2, v1))) print("%s\n%s\n%…

Win7启动修复MBR(Win7+Linux删除Linux后进入grub rescue的情况)

事因&#xff1a;我的笔记本原先同时安装了Win7Linux&#xff0c;昨天发现硬盘实在不够用&#xff08;才60G&#xff0c;虽然还有个500G的移动硬盘&#xff09;&#xff0c;就想把里面的Ubuntu格了。都是用虚拟机做测试的多。后来就格了Ubuntu所在的分区。重启后出现命令窗口&a…

[书籍推荐]《软件设计精要与模式(第2版)》-张逸——提高设计模式及软件设计的方法...

《软件设计精要与模式&#xff08;第2版&#xff09;》是园子里张逸大大今年4月出版的关于软件设计及设计模式方面的书&#xff0c;我是5月下旬到手&#xff0c;每天晚上看一章&#xff0c;断断续续的到昨天晚上总算把全书28章看完了&#xff0c;感受很深&#xff0c;以往在设计…

solor mysql_solr 同步 mysql

一、首先创建一个数据库和表这里创建了一个表&#xff0c;加上了测试数据&#xff0c;注意这里有一个字段来记录更新时间 update_date二、修改配置文件我们首先介绍全量同步&#xff0c;再介绍增量同步我的 solr 版本是 7.5 的&#xff0c;new_core是我创建的 core&#xff0c…

C++调用Python函数

From: http://www.flatws.cn/article/program/c/2010-08-24/9677.html Python代码在实现某些功能的时候非常方便&#xff0c;如果能够将Python代码与C程序结合起来&#xff0c;那么一定会使Problem Solving方便许多&#xff08;比如&#xff0c;游戏脚本系统&#xff09;~ 从学…

配置ubuntu使用console登录登录欢迎提示

使用ssh或console登陆成功后&#xff0c;ubuntu会顺序执行/etc/update-motd.d中的脚本 有些linux的登陆提示信息放在了/etc/ssh/sshd_config中的Banner配置项中 转载于:https://www.cnblogs.com/chen310/p/4431474.html

网络命令大全(9)--runas

Runas 允许用户用其他权限运行指定的工具和程序&#xff0c;而不是用户当前登录提供的权限。语法runas [{/profile/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program 参数/profile 加载用户的配置文件。/profile 是…

java canvas 缩放图片_详解如何用HTML5 Canvas API控制图片的缩放变换

摘要&#xff1a;这篇HTML5栏目下的“详解如何用HTML5 Canvas API控制图片的缩放变换”&#xff0c;介绍的技术点是“html5_canvas、canvas、Html5、控制图片、api、图片”&#xff0c;希望对大家开发技术学习和问题解决有帮助。缩放变换scale(sx,sy)传入两个参数&#xff0c;分…

C语言中执行python代码或源程序文件(高级嵌入方式)

环境&#xff1a;Fedora12 Python2.6 C 1. 建立python源代码文件(del.py)&#xff1a; #!/usr/bin/env pythondef calculate(expression):try:result eval(expression)except:print("Eval Error!")return Nonereturn resultif __name__ "__main__":f …

向周鸿祎的360安全浏览器学互联网产品运营和推广

做互联网产品运营就要像周鸿祎一样&#xff0c;老周一直是运营流的大力倡导者&#xff0c;而360安全浏览器则是老周给我们上的产品运营又一课&#xff0c;醍醐灌顶&#xff0c;如梦初醒。 下图是截止到今年6月中国网民的浏览器使用情况图&#xff1a; 根据CNZZ的数据&#xff0…

java中的locksupport_java中线程的停止以及LockSupport工具类

看jstack输出的时候&#xff0c;可以发现很多状态都是TIMED_WAITING(parking)&#xff0c;如下所示&#xff1a;"http-bio-8080-exec-16" #70 daemon prio5 os_prio0 tid0x00007f6088027800 nid0x3a1f waiting on condition [0x00007f60fcd03000]java.lang.Thread.St…

React小结

1. setState setState更新状态的2种写法 (1). setState(stateChange, [callback])------对象式的setState 1.stateChange为状态改变对象(该对象可以体现出状态的更改) 2.callback是可选的回调函数, 它在状态更新完毕、界面也更新后(render调用后)才被调用 (2). setState(updat…

4-17学习

//设置自动行数与字符换行 [label setNumberOfLines:0]; label.lineBreakMode UILineBreakModeWordWrap; /** 去除多余分割线 */ self.tableView.tableFooterView [[UIView alloc]init];转载于:https://www.cnblogs.com/pocket-mood/p/4435711.html

PyRun_SimpleFile()崩溃问题

From: http://blog.csdn.net/jq0123/article/details/1504406 PyRun_SimpleFile()造成程序崩溃&#xff0e;例程如下&#xff1a;#include "python.h"int main(){ Py_Initialize(); FILE * fp fopen("test.py", "r"); if …

翻译:Asp.net中多彩下拉框的实现

开发背景&#xff1a; 有人曾经要我开发一个根据不同选择而显示不同颜色的管理工具。我开始考虑利用下拉框来实现条目背景及显示颜色根据条目名称不同而进行变化&#xff0c;根据这个思路我在网上搜了半天也没有找到任何相关的解决方案&#xff0c;最后我想到了一个比当初需…