zoukankan      html  css  js  c++  java
  • HDU-2054.A==B?(字符串简单处理)

      这道题......被我各种姿势搞死的...

      本题大意:给出两个数A和B,判断A和B是否相等,对应输出YES or NO。

      本题思路:本题我有两种思路,第一种是直接去除前导零和后导零然后稍加处理比较字符串即可,第二种是找出每个字符串的 '.' 然后向两边搜索即可,下面给出第一种思路的代码,仅供参考,建议读者自行实现。

      参考代码:

     1 #include <cstdio>
     2 #include <cstring>
     3 using namespace std;
     4 
     5 const int maxn = 1e8;
     6 int begina, beginb, enda, endb, point1, point2, len1, len2;
     7 bool flag;
     8 char a[maxn], b[maxn];
     9 
    10 int main () {
    11     while(~scanf("%s %s", a, b)) {
    12         flag = true;
    13         point1 = point2 = maxn;
    14         len1 = strlen(a), len2 = strlen(b);
    15         if(strchr(a, '.'))
    16             point1 = strchr(a, '.') - a;
    17         if(strchr(b, '.'))
    18             point2 = strchr(b, '.') - b;
    19         begina = -1, beginb = -1, enda = len1, endb = len2;
    20         for(int i = 0; i < len1; i ++)// find begina
    21             if(a[i] == '0' && i < point1) begina = i;
    22             else break;
    23         for(int i = 0; i < len2; i ++)// find beginb
    24             if(b[i] == '0' && i < point2) beginb = i;
    25             else break;
    26         for(int i = len1 - 1; i >= point1; i --)// find enda
    27             if(a[i] == '0') enda = i;
    28             else if(a[i] == '.') enda = i;
    29             else break;
    30         for(int i = len2 -1; i >= point2; i --)// find endb
    31             if(b[i] == '0') endb = i;
    32             else if(b[i] == '.') endb = i;
    33             else break;
    34         int i = begina + 1;
    35         for(int j = beginb + 1; i < enda; j ++)
    36             if(a[i ++] != b[j]) {
    37                 printf("NO
    ");
    38                 flag = false;
    39                 break;
    40             }
    41         if(flag) printf("YES
    ");
    42     }
    43     return 0;
    44 }
    View Code
  • 相关阅读:
    一步一步配置 Dell OME 监控 Dell 服务器硬件报警
    比较详细的介绍zabbix监控tomcat
    Docker-03 docker 加速器--DaoCloud 1.0
    Docker-02 无人值守安装 docker
    Docker-01 无人值守升级 CentOS 6.x 系统内核到 3.10.x 长期支持版
    一个awk if 嵌套 if 的脚本
    CentOS 安装 JDK
    zTree默认勾选指定ID并执行事件
    数据库游标的使用
    js进度条实现
  • 原文地址:https://www.cnblogs.com/bianjunting/p/10505382.html
Copyright © 2011-2022 走看看