zoukankan      html  css  js  c++  java
  • hdu2054 通过率低是有理由的

    这虽然是一道水题,但却巨坑,他题面上不说数据范围,也没有说数据类型,事实就是数据范围巨大,整型实型都有,所以必须用字符串去写,但是又涉及到小数,所以还要删除小数后面多余的0,比如1==1.0000,这是yes,0==0.0这也是yes,所以只需要删除后导0以及后导0删完了如果还有小数点,那小数点也要删除,比如1.0000应该变成1.

    这里用的是string而不是字符型数组,因为进行删除操作比较简便。

    上代码了:

     1 #include<iostream>
     2 #include<string>
     3 using namespace std;
     4 string a,b;
     5 void delete0()
     6 {
     7     if(a.find(".")!=-1)//没有小数点不必删除0 
     8     {
     9         for(int i=a.length()-1;i>=0;i--)//从尾部开始
    10         {
    11             if(a[i]=='0')
    12             a.erase(a.end()-1);
    13             else if(a[i]=='.')//0删完了下一个如果是小数点 
    14             {
    15                 a.erase(a.end()-1);
    16                 break;
    17             }
    18             else//如果后面的0删完了直接结束 
    19             break;
    20         }
    21     }
    22     if(b.find(".")!=-1)
    23     {
    24         for(int i=b.length()-1;i>=0;i--)
    25         {
    26             if(b[i]=='0')
    27             b.erase(b.end()-1);
    28             else if(b[i]=='.')
    29             {
    30                 b.erase(b.end()-1);
    31                 break;
    32             }
    33             else
    34             break;
    35         }
    36     }
    37 }
    38 int main()
    39 {
    40     while(cin>>a>>b)
    41     {
    42         delete0();
    43         if(a==b)
    44         puts("YES");
    45         else
    46         puts("NO");
    47     }
    48     return 0;
    49 }
  • 相关阅读:
    J
    I
    uva122 二叉树的实现和层次遍历(bfs)
    A
    HDU 波峰
    2239: 童年的圣诞树
    1734: 堆(DFS)
    1731: 矩阵(前缀和)
    1733: 旋转图像(模拟)
    1728: 社交网络(概率问题 组合数/排列数)
  • 原文地址:https://www.cnblogs.com/spongeb0b/p/9382349.html
Copyright © 2011-2022 走看看