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

My思路:

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

My代码实现:

 #include<iostream>
using namespace std;
string simplify(string s) { //去字符串s的正负号和首尾多余的0
string a;
int k = s.size()-, l = , t = ;
for(int i = ; i < s.size(); i++) //判断是否是小数,如果是小数就需要去除尾部多余的0
if(s[i] == '.') {
t = ;
break;
}
if(s[] == '+' || s[] == '-') l++; //去除符号
while(s[l] == '') l++; //去除前面多余的0
//cout << l << endl;
if(t) { //去除后面多余的0
while(s[k] == '') k--;
}
if(s[k] == '.') k--;
//cout << k << endl;
while(l <= k) a += s[l++];
return a;
}
int main() {
//string x = "-002540000.0000025000000";
//cout << simplify(x);
string A, B, a, b;
char fa, fb;
while(cin >> A >> B) {
a = simplify(A); //去除符号和首尾多余的0
b = simplify(B);
//cout << a << "\n" << b << endl;
if(A[] != '+' && A[] != '-') fa = '+'; //正负号拿出来单独判断
else fa = A[];
if(B[] != '+' && B[] != '-') fb = '+';
else fb = B[];
if(((fa == '+' && fb == '-') || (fa == '-' && fb == '+')) && (a != "" && b != "")) cout << "NO\n"; //这里千万要考虑+0=-0的情况
else {
int i, p = ;
for(i = ; i < a.size() && i < b.size(); i++)
if(a[i] != b[i]) {
cout << "NO\n";
p = ;
break;
}
if(i == b.size() && i == a.size()) cout << "YES\n";
else if(p) cout << "NO\n";
}
}
}

代码实现(点击展开)

      开始写于: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. UVA - 524 Prime Ring Problem(dfs回溯法)

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

  3. NYOJ题目27水池数目

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

  4. NYOJ题目20吝啬的国度

    -----------------------------------------n-1条边的无向连通图是一棵树,又因为树上两点之间的路径是唯一的,所以解是唯一的.(注意并不一定是二叉树,所以最好采用 ...

  5. NYOJ题目28大数阶乘

    -------------------------------------祭出BigInteger AC代码: import java.math.BigInteger; import java.uti ...

  6. NYOJ题目198数数

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsYAAAK1CAIAAABEvL+NAAAgAElEQVR4nO3drXLkurvv8X0T4bmQYF

  7. NYOJ题目170网络的可靠性

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAs8AAANvCAIAAACte6C6AAAgAElEQVR4nOydPbLcNhOu7yaUayGOZy

  8. NYOJ题目168房间安排

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAssAAAOTCAIAAADGwNmiAAAgAElEQVR4nOy9PY7cyLPufTchXwsZu9

  9. NYOJ题目125盗梦空间

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAssAAANLCAIAAAA4rUfgAAAgAElEQVR4nOydq7LdyrKm+yXM/SDG4y

随机推荐

  1. LoadRunner场景参数文件部分参数说明(我在某银行的整理)

    由于场景中脚本繁多,同时设置60个脚本的“运行时设置”会提示个数限制信息,这时可以考虑通过场景的参数文件配置来批量解决这些事情,主要是提高工作效率. 选中自己保存的controller场景,鼠标右键点 ...

  2. 一致性哈希算法(consistent hashing)【转】

    一致性哈希算法 来自:http://blog.csdn.net/cywosp/article/details/23397179       一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希 ...

  3. SAP GUI SAPLOGON.INI

    GUI是SAP系统最常用的客户端,在一台客户机上,利用GUI可以连接多套SAP系统(连接方法参见<客户端连接配置(SAP GUI 710)>),也可以设置多个快捷方式登录(参见<用快 ...

  4. Mac OSX Versions输入username按1下都会出现2个字符,并且不能create,解决方法

    我的系统,安装的versions1.3.2,下载地址:http://www.jb51.net/softs/193467.html 安装好了以后Versions输入username按1下都会出现2个字符 ...

  5. Centos用yum升级mysql到(5.5.37)

    原文:http://www.if-not-true-then-false.com/2010/install-mysql-on-fedora-centos-red-hat-rhel/ 1. Change ...

  6. 解决eclipse中android添加重载函数时参数为arg0,arg1的问题

    遇到同样的问题,发现有人已经解决了,大体意思就是为android sdk 添加 src,以下是文章链接 http://blog.csdn.net/u014084081/article/details/ ...

  7. 【Android】设备标识

    Android系统以及设备都有很多的“标识”号,比如常见的IMEI,SerizalNumber,UUID等概念,但是这些都存在一定程度上的不可靠性,到底如何标记一台Android设备? 文章内容多来自 ...

  8. 【Android】键盘的展开和收起

    键盘的展开和收起主要使用到类InputMethodManager:http://developer.android.com/reference/android/view/inputmethod/Inp ...

  9. MySQL server has gone away 问题的解决方法

    mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了. 造成这样的原因一般是s ...

  10. Git使用日记

    git是个分布式的版本管理工具,现在我们前端这边用它做版本管理.之前也看过一些相关资料,不过没有使用它管理过项目代码.如今,用它也有段时间了所以就写些东西,仅供参考. ###快速上手 工作经常用到的几 ...