博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
构造 Codeforces Round #135 (Div. 2) B. Special Offer! Super Price 999 Bourles!
阅读量:5931 次
发布时间:2019-06-19

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

 

1 /* 2    构造:从大到小构造,每一次都把最后不是9的变为9,p - p MOD 10^k - 1,直到小于最小值。 3         另外,最多len-1次循环 4 */ 5 #include 
6 #include
7 #include
8 #include
9 using namespace std;10 11 typedef long long ll;12 const int MAXN = 1e3 + 10;13 const int INF = 0x3f3f3f3f;14 15 int get_len(ll x) {16 int ret = 0;17 while (x) {18 x /= 10; ret++;19 }20 return ret;21 }22 23 int get_nine(ll x) {24 int ret = 0;25 while (x) {26 ll y = x % 10; x /= 10;27 if (y != 9) break;28 ret++;29 }30 return ret;31 }32 33 int main(void) { //Codeforces Round #135 (Div. 2) B. Special Offer! Super Price 999 Bourles!34 //freopen ("C.in", "r", stdin);35 36 ll p, d;37 while (scanf ("%I64d%I64d", &p, &d) == 2) {38 int len = get_len (p); ll now = p;39 int mx = get_nine (p); ll ans = p;40 ll cut = 1;41 while (true) {42 ll y = now / cut % 10;43 if (y != 9) {44 now = now - cut * 10; now = now / cut + cut - 1;45 }46 cut *= 10;47 if (now < p - d) break;48 int cnt = get_nine (now);49 if (cnt > mx) ans = now;50 }51 52 printf ("%I64d\n", ans);53 }54 55 return 0;56 }

 

转载于:https://www.cnblogs.com/Running-Time/p/4661329.html

你可能感兴趣的文章
USACO 3.1.4 [Shaping Regions]
查看>>
Oracle获取日期的特定部分
查看>>
AngularJs ng-route路由详解
查看>>
数据结构-王道-图
查看>>
3.6版多线程
查看>>
ionic使用方法
查看>>
20172303 2018-2019-1 《程序设计与数据结构》第6周课堂实践报告
查看>>
让数据库变快的10个建议
查看>>
android集成twitter登录
查看>>
美化 Linux 字体显示
查看>>
java的继承
查看>>
File操作
查看>>
pl/sql 存储结构
查看>>
压缩,解压缩工具及bash脚本编程
查看>>
Jemeter第一个实例
查看>>
架构之美阅读笔记五
查看>>
Agile.Net 组件式开发平台 - 组件开发示例
查看>>
Linux 脚本的一个尝试
查看>>
CSS 兼容性和 Internet Explorer
查看>>
configparser模块
查看>>