题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860

My思路:

先用两个字符串储存这两个实数,然后再用另外两个字符串储存去掉符号和前后多余的0后的新"实数",最后只需要比较两个化简后的新字符就ok了。

My代码实现:

  1. #include<iostream>
  2. using namespace std;
  3. string simplify(string s) { //去字符串s的正负号和首尾多余的0
  4. string a;
  5. int k = s.size()-, l = , t = ;
  6. for(int i = ; i < s.size(); i++) //判断是否是小数,如果是小数就需要去除尾部多余的0
  7. if(s[i] == '.') {
  8. t = ;
  9. break;
  10. }
  11. if(s[] == '+' || s[] == '-') l++; //去除符号
  12. while(s[l] == '') l++; //去除前面多余的0
  13. //cout << l << endl;
  14. if(t) { //去除后面多余的0
  15. while(s[k] == '') k--;
  16. }
  17. if(s[k] == '.') k--;
  18. //cout << k << endl;
  19. while(l <= k) a += s[l++];
  20. return a;
  21. }
  22. int main() {
  23. //string x = "-002540000.0000025000000";
  24. //cout << simplify(x);
  25. string A, B, a, b;
  26. char fa, fb;
  27. while(cin >> A >> B) {
  28. a = simplify(A); //去除符号和首尾多余的0
  29. b = simplify(B);
  30. //cout << a << "\n" << b << endl;
  31. if(A[] != '+' && A[] != '-') fa = '+'; //正负号拿出来单独判断
  32. else fa = A[];
  33. if(B[] != '+' && B[] != '-') fb = '+';
  34. else fb = B[];
  35. if(((fa == '+' && fb == '-') || (fa == '-' && fb == '+')) && (a != "" && b != "")) cout << "NO\n"; //这里千万要考虑+0=-0的情况
  36. else {
  37. int i, p = ;
  38. for(i = ; i < a.size() && i < b.size(); i++)
  39. if(a[i] != b[i]) {
  40. cout << "NO\n";
  41. p = ;
  42. break;
  43. }
  44. if(i == b.size() && i == a.size()) cout << "YES\n";
  45. else if(p) cout << "NO\n";
  46. }
  47. }
  48. }

代码实现(点击展开)

      开始写于:2016.7.31  ----志银

【志银】NYOJ《题目524》A-B Problem的更多相关文章

  1. NYOJ:题目524 A-B Problem

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860 My思路: 先用两个字符串储存这两个实数,然后再用另外两个字符串储存去掉符号和前后多 ...

  2. 【志银】NYOJ《题目529》flip

    题目:flip 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=529 吐槽Time: 由于此题槽点太多,所以没忍住... 看到这题通过率出 ...

  3. 【志银】NYOJ《题目860》又见01背包

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860 方法一:不用滚动数组(方法二为用滚动数组,为方法一的简化) 动态规划分析:最少要拿总 ...

  4. UVA - 524 Prime Ring Problem(dfs回溯法)

    UVA - 524 Prime Ring Problem Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & % ...

  5. 【志银】Win764位配置Github环境及将代码部署到Github pages-志银强势总结

    (软件及教程下载分享:链接:http://pan.baidu.com/s/1dFysay9 密码:pug0) 1-安装Git-2.9.2-64-bit.exe(解压安装文件,运行安装程序,除了记得修改 ...

  6. 【志银】MySQL命令总结

    ===0-MySQL密码设置===0.1-登入和进入MySQL数据库: 0.1.1-登入MySQL数据库:C:\Users\Administrator>mysql -u用户名 -hMySQL服务 ...

  7. 【志银】Dev-Cpp配置OpenGL图形库(成功版本:Dev-Cpp 5.7.1 MinGW 4.8.1)

    ★配置前须知:Dev-Cpp自带OpenGL的使用和OpenGL简介 (附Dev-Cpp下载地址:http://sourceforge.net/projects/orwelldevcpp/?sourc ...

  8. 【志银】NYOJ《题目490》翻译

    1.题目:翻译 1.1.题目链接 http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=490 1.2.题目内容 2.解题分析 题目输入输出格式描述不 ...

  9. NYOJ题目27水池数目

    --------------------------------------------- 这道题有点坑,也怪我总是有点马虎,按照正常人的思维0是表示有水池啊竟然是1表示有水池,最坑的是写反了竟然还能 ...

随机推荐

  1. 旋度定理(Curl Theorem)和散度定理(Divergence theorem)

    原文链接 首先说说格林公式(Green's theorem).对于一段封闭曲线,若其围城的区域D为单连通区域(内部任意曲线围城的区域都属于院区域),则有如下公式: 其中其中L为D的边界,取正方向.如果 ...

  2. Android笔记(预安装APK)

    一般一个安卓的产品在出厂时,会预安装许多APK,关于这些APP,主要分为下面这几类 1.系统级别APK 这一类应用一般是:电话/设置或者厂家自己特定的应用. 2.系统预安装APK 因为商业原因,产品出 ...

  3. 优化tableView性能(针对滑动时出现卡的现象)

    优化tableView性能(针对滑动时出现卡的现象) 在iOS应用中,UITableView应该是使用率最高的视图之一了.iPod.时钟.日历.备忘录.Mail.天气.照片.电话.短信. Safari ...

  4. 【清真dp】cf1144G. Two Merged Sequences

    成就:赛后在cf使用错误的贪心通过一题 成就:在cf上赛后提交hack数据 成就:在cf上赛后hack自己 题目大意 有一长度$n \le 2\times 10^5$的序列,要求判断是否能够划分为一个 ...

  5. 【转载】C语言itoa()函数和atoi()函数详解(整数转字符C实现)

    本文转自: C语言itoa()函数和atoi()函数详解(整数转字符C实现) 介绍 C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. int/float to ...

  6. php实现当前页面点击下载文件的实例

    php控制器中代码 public function downFile($path = ''){     if(!$path) header("Location: /");      ...

  7. Sublime package control错误:There are no packages available for installation

    查了很多资料都没有解决. 改host---无效 复制一个文件的什么的,我看到版本比我的旧,就没有用 终于最后一个解决了.最终解决方案 解决: 更新下Package Control就好了: prefer ...

  8. 笔记-restful

    笔记-restful 1.      restful简介 restful:representational state transfer,简称REST,描述了一个架构样式的网络系统. 值得注意的是RE ...

  9. JAVA-数组或集合

    哈哈,今天我们来讲解一下有关于一些数组 或者是集合的知识点 1.ArrayList,LinkedList,Vector的区别 ArrayList,LinkedList,Vector都是实现List接口 ...

  10. java程序——输入判断成绩

    import java.util.*; class ExceptionOut extends Exception{ } public class Score { public static void ...