定义一个数 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的更多相关文章

  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 ...

  2. HDU 6038.Function-数学+思维 (2017 Multi-University Training Contest - Team 1 1006)

    学长讲座讲过的,代码也讲过了,然而,当时上课没来听,听代码的时候也一脸o((⊙﹏⊙))o 我的妈呀,语文不好是硬伤,看题意看了好久好久好久(死一死)... 数学+思维题,代码懂了,也能写出来,但是还是 ...

  3. hdu 5288 OO’s Sequence(2015 Multi-University Training Contest 1)

    OO's Sequence                                                          Time Limit: 4000/2000 MS (Jav ...

  4. hdu 5416 CRB and Tree(2015 Multi-University Training Contest 10)

    CRB and Tree                                                             Time Limit: 8000/4000 MS (J ...

  5. HDU 6091 - Rikka with Match | 2017 Multi-University Training Contest 5

    思路来自 某FXXL 不过复杂度咋算的.. /* HDU 6091 - Rikka with Match [ 树形DP ] | 2017 Multi-University Training Conte ...

  6. HDU 6125 - Free from square | 2017 Multi-University Training Contest 7

    思路来自这里 - - /* HDU 6125 - Free from square [ 分组,状压,DP ] | 2017 Multi-University Training Contest 7 题意 ...

  7. HDU 6129 - Just do it | 2017 Multi-University Training Contest 7

    比赛时脑子一直想着按位卷积... 按题解的思路: /* HDU 6129 - Just do it [ 规律,组合数 ] | 2017 Multi-University Training Contes ...

  8. HDU 6088 - Rikka with Rock-paper-scissors | 2017 Multi-University Training Contest 5

    思路和任意模数FFT模板都来自 这里 看了一晚上那篇<再探快速傅里叶变换>还是懵得不行,可能水平还没到- - 只能先存个模板了,这题单模数NTT跑了5.9s,没敢写三模数NTT,可能姿势太 ...

  9. HDU 6085 - Rikka with Candies | 2017 Multi-University Training Contest 5

    看了标程的压位,才知道压位也能很容易写- - /* HDU 6085 - Rikka with Candies [ 压位 ] | 2017 Multi-University Training Cont ...

  10. HDU 6073 - Matching In Multiplication | 2017 Multi-University Training Contest 4

    /* HDU 6073 - Matching In Multiplication [ 图论 ] | 2017 Multi-University Training Contest 4 题意: 定义一张二 ...

随机推荐

  1. MySQL 5.1参考手册

    目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. My ...

  2. MongoDB (十一) MongoDB 排序文档

    sort() 方法 要在 MongoDB 中的文档进行排序,需要使用sort()方法. sort() 方法接受一个文档,其中包含的字段列表连同他们的排序顺序.要指定排序顺序1和-1. 1用于升序排列, ...

  3. GDB调试方法精粹

    http://blog.chinaunix.net/uid-26922071-id-3756018.html 一.多线程调试 1. 多线程调试,最重要的几个命令: info threads       ...

  4. React组件生命周期-正确执行初始化阶段的函数

    一. 二.代码 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&quo ...

  5. VS2013编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  6. 读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots

    读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots   以下为异常详细信息: Exception in thread &q ...

  7. Android 使用Application类保存应用的全局数据

    在实际应用我们经常需要对数据进行交互与保存,但Intent中默认的方法对传输数据是有类型限制的,当我们需要传输或保存一个复杂的泛型数据时,使用Application是一个很好的解决办法. 顾名思义,A ...

  8. DeepLearning常用库简要介绍与对比

    网上近日流传一张DL相关库在Github上的受关注度对比(数据应该是2016/03/15左右统计的): 其中tensorflow,caffe,keras和Theano排名比较靠前. 今日组会报告上tj ...

  9. jquerymobile UI使用

    <!DOCTYPE HTML> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  10. 《JAVA编程那点事儿》读书笔记(二)——类和对象

    方法: 1. 基本的main方法: public static void main(String[] args) 2.静态方法内部调用非静态方法:重新声明一个类,通过这个类来调用非静态方法 publi ...