zoukankan      html  css  js  c++  java
  • BestCoder5 1001 Poor Hanamichi(hdu 4956) 解题报告

      题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4956(它放在题库后面的格式有一点点问题啦,所以就把它粘下来,方便读者观看)

      题目意思:给出一个范围 [l, r] 你, 问是否能从中找到一个数证明 Hanamichi’s solution 的解法是错的。

          Hanamichi’s solution 是这样的:

          对于某个数 X,从右往左数它的每一位数字(假设第一位是从0开始数)。它 偶数位的数字之和 -  奇数位的数字之和  = 3  而且 这个 X 满足函数 X mod 11 = 3 。

          一开始见数据范围达到1e18 就刹时吓坏了,怕暴力超时,于是比赛的时候,就不敢做咯~~~~点知,原来可以啦,真奇怪= =

          一个个枚举即可,题目有点长,意思有点难明,关键是太多干扰的地方,例如这句:

       

          纯粹是吓人滴 = =

          

         

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 using namespace std;
     5 
     6 bool check(__int64 x)
     7 {
     8     int sum[2] = {0, 0};
     9     __int64 t = x;
    10     int p = 0;
    11     while (x)
    12     {
    13         sum[p] += x % 10;
    14         x /= 10;
    15         p = !p;
    16     }
    17     if (sum[0]-sum[1] != 3 && t % 11 == 3)
    18         return false;
    19     if (sum[0]-sum[1] == 3 && t % 11 != 3)
    20         return false;
    21     return true;
    22 }
    23 
    24 int main()
    25 {
    26     __int64 l, r;
    27     int T;
    28     while (scanf("%d", &T) != EOF)
    29     {
    30         while (T--)
    31         {
    32             scanf("%I64d%I64d", &l, &r);
    33 
    34             __int64 tmp = l;
    35             while (tmp <= r)
    36             {
    37                 if (!check(tmp))
    38                     break;
    39                 tmp++;
    40             }
    41             if (tmp > r)
    42                 printf("-1
    ");
    43             else
    44                 printf("%I64d
    ", tmp);
    45         }
    46     }
    47     return 0;
    48 }

          

  • 相关阅读:
    Android学习笔记——Menu(三)
    Android学习笔记——Menu(二)
    Android学习笔记——Menu(一)
    Python学习笔记(三)——迭代
    Python学习笔记(二)——高级特性
    Python学习笔记(一)——基本知识点
    Java中遍历Map的常用方法
    比较Java中几个常用集合添加元素的效率
    Java计算两个程序运行时间
    Java中的并发编程集合使用
  • 原文地址:https://www.cnblogs.com/windysai/p/3918366.html
Copyright © 2011-2022 走看看