HDU 4608 I-number 2013 Multi-University Training Contest 1
定义一个数 y 为 x 的 I-number。对于 y 有如下要求:
1、y > x;
2、y 的每一位之和要为10的倍数(例如 28 每一位之和为 10 ,为 10 的 1 倍);
3、这样的 y 有很多个,但是I-number为最小的那个
注意:x 的长度不会超过 105 位
这道题目可以直接爆搞,因为可以证明符合要求的 y 一定满足 y < x + 20
但是在敲这道题目的时候需要注意,他会有恶心的前导 0 , 而且不能删除这些前导 0 。 例如,202 对应的 I-number为208。 但如果他输入的是 000202 , 那么输出是 000208 这样。
这道题目除了上面那个坑意外,可以随便搞定,其他的就不赘述了。
附上AC代码:
1: #include <stdio.h>
2: #include <math.h>
3: #include <cstdarg>
4: #include <string.h>
5: #include <iostream>
6: #define LL long long
7: #define M(a) memset(a, 0, sizeof(a))
8: using namespace std;
9:
10: void Clean(int count, ...)
11: {
12: va_list arg_ptr;
13: va_start (arg_ptr, count);
14: for (int i = 0; i < count; i++)
15: M(va_arg(arg_ptr, int*));
16: va_end(arg_ptr);
17: }
18:
19: char buf[100009];
20:
21: int deal(int len)
22: {
23: for (int i = 1; i <= len; i++)
24: buf[i] -= '0';
25: int mark = 0;
26: while (1)
27: {
28: buf[len] += 1;
29: for (int i = len; i >= 0; i--)
30: {
31: if (buf[i] >= 10)
32: {
33: buf[i] -= 10;
34: buf[i - 1] += 1;
35: }
36: }
37:
38: if (buf[0]) mark = 1;
39: int temp = 0;
40: for (int i = 1 - mark; i <= len; i++)
41: temp += buf[i];
42: if (temp % 10 == 0) return mark;
43: }
44: }
45:
46: int main()
47: {
48: int T, x;
49: scanf("%d", &T);
50: while (T--)
51: {
52: Clean(1, buf);
53: scanf("%s", &buf[1]);
54: int len = strlen((char *)(buf + 1));
55: for (int i = 1 - deal(len); i <= len; i++)
56: printf("%c", buf[i] + '0');
57: puts("");
58: }
59: return 0;
60: }
HDU 4608 I-number 2013 Multi-University Training Contest 1的更多相关文章
- hdu 6301 Distinct Values (2018 Multi-University Training Contest 1 1004)
Distinct Values Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- HDU 6038.Function-数学+思维 (2017 Multi-University Training Contest - Team 1 1006)
学长讲座讲过的,代码也讲过了,然而,当时上课没来听,听代码的时候也一脸o((⊙﹏⊙))o 我的妈呀,语文不好是硬伤,看题意看了好久好久好久(死一死)... 数学+思维题,代码懂了,也能写出来,但是还是 ...
- hdu 5288 OO’s Sequence(2015 Multi-University Training Contest 1)
OO's Sequence Time Limit: 4000/2000 MS (Jav ...
- hdu 5416 CRB and Tree(2015 Multi-University Training Contest 10)
CRB and Tree Time Limit: 8000/4000 MS (J ...
- HDU 6091 - Rikka with Match | 2017 Multi-University Training Contest 5
思路来自 某FXXL 不过复杂度咋算的.. /* HDU 6091 - Rikka with Match [ 树形DP ] | 2017 Multi-University Training Conte ...
- HDU 6125 - Free from square | 2017 Multi-University Training Contest 7
思路来自这里 - - /* HDU 6125 - Free from square [ 分组,状压,DP ] | 2017 Multi-University Training Contest 7 题意 ...
- HDU 6129 - Just do it | 2017 Multi-University Training Contest 7
比赛时脑子一直想着按位卷积... 按题解的思路: /* HDU 6129 - Just do it [ 规律,组合数 ] | 2017 Multi-University Training Contes ...
- HDU 6088 - Rikka with Rock-paper-scissors | 2017 Multi-University Training Contest 5
思路和任意模数FFT模板都来自 这里 看了一晚上那篇<再探快速傅里叶变换>还是懵得不行,可能水平还没到- - 只能先存个模板了,这题单模数NTT跑了5.9s,没敢写三模数NTT,可能姿势太 ...
- HDU 6085 - Rikka with Candies | 2017 Multi-University Training Contest 5
看了标程的压位,才知道压位也能很容易写- - /* HDU 6085 - Rikka with Candies [ 压位 ] | 2017 Multi-University Training Cont ...
- HDU 6073 - Matching In Multiplication | 2017 Multi-University Training Contest 4
/* HDU 6073 - Matching In Multiplication [ 图论 ] | 2017 Multi-University Training Contest 4 题意: 定义一张二 ...
随机推荐
- iOS后台如何保持socket长连接和数据传输
工程中使用tcp长连接来和服务端进行数据传输,在IOS平台上,由于苹果的后台机制,会有以下问题: 当程序退到后台的时候,所有线程被挂起,系统会回收所有的socket资源,那么socket连接就会被关闭 ...
- ExtJs之FieldSet和FieldContainer
<!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...
- Inlinehook PspCreateProcess
InineHook通过修改函数指令实现,此次以内核层的PspCreateProcess()为例. 本来是想写NtCreateProcess()的Inlinehook,但是想到PCHunter对于SSD ...
- 【HDU 5030】Rabbit's String (二分+后缀数组)
Rabbit's String Problem Description Long long ago, there lived a lot of rabbits in the forest. One d ...
- Centos环境下部署游戏服务器-iptables
简介: 图1 Centos做为服务器级操作系统,防火墙是不可缺少的.防火墙的主要功能为控制进出网络包,防火墙就如小区门卫的工作职责,检查出入小区居民的身份,如果不符合小区门卫管理条例 ...
- 12个QT基本对话框,以及淡入原理(用定时器把窗口逐渐变成透明)
一.基本对话框 1,核心库: 界面程序 QApplication 非程序界面QCoreAppliction 2,消息循环必须执行QApplication.exec(); 3,消息绑定机制: 信号-槽 ...
- wordpress编辑器无法切换/输入
出现问题:“可视化”和“文本”无法切换,编辑区也无法输入文字 解决方法: 打开wp-config.php,在 require_once(ABSPATH . 'wp-settings.php'); 后面 ...
- Android SurfaceView + MediaPlayer实现分段视频无缝播放
Android当中实现视频播放的方式有两种,即:通过VideoView实现或者通过SurfaceView + MediaPlayer实现. 由浅至深,首先来看下想要在Android上播放一段视频,我们 ...
- c# ffmpeg视频转换
c# ffmpeg视频转换 什么是ffmpeg,它有什么作用呢,怎么可以使用它呢,带着问题去找答案吧!先参考百度百科把,我觉得它很强大无奇不有,为了方便大家我就把链接提供了! http://baik ...
- dd命令刻录u盘启动盘
dd命令来刻录windows启动盘 dd if=/ home/avi/Downloads/Win10_English_x64.iso of=/ dev/sdb1 bs=51M; sync dd命令详解 ...