zoukankan      html  css  js  c++  java
  • 计蒜客NOIP模拟赛5 D1T1 机智的 AmyZhi

    那年一个雨季,AmyZhi 在校门外弯身买参考书。

    这时 SiriusRen 走过来,一言不合甩给她一道“自认为”很难的题:

    ---------------

    给你一个数字 NN(NN 的范围是 11 ~ 10000001000000),求一个最小的正整数 MM,这个数字 MM 的各个位的数字加上它本身之和恰好为NN。

    ---------------

    没有想到 AmyZhi 秒解了这道题并把 NN 扩大到了 10^{18}1018​​ 甩回给了 SiriusRen。

    SiriusRen 苦苦思索,发现并不会这道题。

    可怜 SiriusRen 一世英名,在 AmyZhi 面前却宛如智障少年。

    SiriusRen 抬头透过倾斜的雨丝,看向模糊的世界,车水马龙,穿流不息,人来人往,形色匆匆,刹那间惘然,竟不知去向何方......

    输入格式

    第一行一个整数 TT,表示有 TT 组数据。

    接下来 TT 行,每行一个整数 NN。

    输出格式

    对于每组数据,输出 MM。

    若无解,输出一行Stupid SiriusRen

    数据范围

    对于 20\%20% 的数据:N le 1000N1000,T le 1000T1000;

    对于 40\%40% 的数据:Nle 100000N100000,T le 5T5;

    对于 60\%60% 的数据:N le 100000N100000,T le 5000T5000;

    对于 100\%100% 的数据:Nle 10^{18}N1018​​,T le 50000T50000。

    忽略每行输出的末尾多余空格

    样例输入

    3
    216
    121
    2005

    样例输出

    198
    Stupid SiriusRen
    1979
    显然,选择的数x必须满足
    n-9*18<=x<=n
    那么只要在这个范围枚举x,在计算每一位的和,加起来
    取一个最小的x
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 typedef long long lol;
     7 lol ans,n;
     8 int main()
     9 {lol i,T;
    10     cin>>T;
    11     while (T--)
    12     {
    13         cin>>n;
    14         ans=-1;
    15         for (i=n;i>=max(n-165,(lol)0);i--)
    16         {
    17             lol x=i,cnt=0;
    18             while (x)
    19             {
    20                 cnt+=x%10;
    21                 x/=10;
    22             }
    23             if (i+cnt==n) ans=i;
    24         }
    25         if (ans==-1) 
    26             printf("Stupid SiriusRen
    ");
    27         else printf("%lld
    ",ans);
    28     }
    29 }
  • 相关阅读:
    C++getline()
    Financial Tsunami
    Exploring Matrix
    shuffle.java
    Java数组声明
    jpg与jpeg的区别在哪
    WinForm训练一_改变窗体大小
    ErrorProvider与CheckedListBox
    如何看待 SAE 在2014 年 3 月 24 日发生的的大面积宕机事故?
    一个技术青年的网络失足
  • 原文地址:https://www.cnblogs.com/Y-E-T-I/p/7706291.html
Copyright © 2011-2022 走看看