博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
E - A == B ? HDU - 2054
阅读量:2243 次
发布时间:2019-05-09

本文共 3270 字,大约阅读时间需要 10 分钟。

E - A == B ? HDU - 2054

Give you two numbers A and B, if A is equal to B, you should print “YES”, or print “NO”. 
Input 
each test case contains two numbers A and B. 
Output 
for each case, if A is equal to B, you should print “YES”, or print “NO”. 
Sample Input 
1 2 
2 2 
3 3 
4 3 
Sample Output 
NO 
YES 
YES 
NO 
估计OJ有问题 
话说 +0 -0输出NOAC我信了但竟然+1和1.0~N0竟然AC了竟然AC了; 
啊西巴贼烦,下面有WA版改进了添加+-号的问题大神帮帮找找BUG。 
这时AC版

#include 
#include
#include
using namespace std; char a[100000],b[100000]; void change(char s[]) { int i,len; len = strlen(s); if(strstr(s,".")) { for(i = len-1; s[i] == '0'; i--) { s[i] = '\0'; len--; } } if(s[len-1] == '.') s[len-1] = '\0'; } int main() { while(cin>>a>>b) { change(a); change(b); if(strcmp(a,b)) cout<<"NO"<

//这是WA版本来以为只有正整数没想到还有正负之分所以没包装函数,o(︶︿︶)o 唉后面有时间再修改。各位凑合看,见笑了……

#include 
#include
#include
using namespace std; char a[100000],b[100000]; void change(char s[]) { int i,len; len = strlen(s); if(strstr(s,".")) { for(i = len-1; s[i] == '0'; i--) { s[i] = '\0'; len--; } } if(s[len-1] == '.') s[len-1] = '\0'; } int main() { while(cin>>a>>b) { change(a); change(b); if(strcmp(a,b)) cout<<"NO"<
#include
#include
using namespace std; const int maxn = 50000; char a[maxn]; char b[maxn]; bool Pd(char* a, char* b) { assert(a != NULL && b!= NULL); if (a[0] != '-' && b[0] != '-'){ if (a[0] == '+'){ a[0] = '0'; } if (b[0] == '+'){ b[0] = '0'; } return true; } else if (a[0] == '-'){ if (b[0] != '-'){ for (int i = 0; i < strlen(b); ++i){ if (b[i] != '0' && b[i] != '.'&& b[i] != '+') return false; } a[0] = '0'; return true; } else if(b[0] == '-') { a[0] = 0; b[0] = 0; return true; } } else { for (int i = 0; i < strlen(a);++i){ if (a[i] != '0' && a[i] != '.') return false; } b[0] = '0'; return true; } } int main() { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); while (scanf("%s%s",a,b) != EOF){ if (!Pd(a,b)) printf("NO\n"); else{ int al = strlen(a); int bl = strlen(b); char* sb = strstr(b,"."); char* sa = strstr(a,"."); int sal = 0; int sbl = 0; if (sa) sal = strlen(sa); if (sb) sbl = strlen(sb); string stra; string strb; for (int i = 0; i < al - sal; i++){ if (a[i] != '0'){ stra.push_back(a[i]); } } for (int i = 0; i < bl - sbl; ++i){ if (b[i] != '0'){ strb.push_back(b[i]); } } if (stra != strb) printf("NO\n"); else{ if (sa && sb) { string ssa; string ssb; int flag = 0; for (int i = sal-1; i > 0; --i) { if (sa[i] != '0' || flag){ flag = 1; ssa.push_back(sa[i]); } } flag = 0; for (int i = sbl-1; i > 0; --i){ if (sb[i] != '0' || flag){ flag = 1; ssb.push_back(sb[i]); } } if (ssa != ssb){ printf("NO\n"); } } else if (sa || sb) { if (sa){ for (int i = 1; i < sal; ++i){ if (sa[i] != '0'){ printf("NO\n"); break; } } } else{ for (int i = 1; i < sbl; ++i){ if (sb[i] != '0'){ printf("NO\n"); break; } } } } printf("YES\n"); } } } return 0; }

//有通不过的例子记得发送一下,我自己调调!blbagony@163.com 
//搞了一下午真的是心痛

转载地址:http://rtgbb.baihongyu.com/

你可能感兴趣的文章
AI 在 marketing 上的应用
查看>>
Logistic regression 为什么用 sigmoid ?
查看>>
Logistic Regression 为什么用极大似然函数
查看>>
LightGBM 如何调参
查看>>
用 TensorFlow.js 在浏览器中训练神经网络
查看>>
梯度消失问题与如何选择激活函数
查看>>
为什么需要 Mini-batch 梯度下降,及 TensorFlow 应用举例
查看>>
为什么在优化算法中使用指数加权平均
查看>>
初探Java设计模式5:一文了解Spring涉及到的9种设计模式
查看>>
Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
查看>>
Java集合详解2:一文读懂Queue和LinkedList
查看>>
Java集合详解3:一文读懂Iterator,fail-fast机制与比较器
查看>>
Java集合详解4:一文读懂HashMap和HashTable的区别以及常见面试题
查看>>
Java集合详解5:深入理解LinkedHashMap和LRU缓存
查看>>
Java集合详解6:这次,从头到尾带你解读Java中的红黑树
查看>>
Java集合详解8:Java集合类细节精讲,细节决定成败
查看>>
Java并发指南1:并发基础与Java多线程
查看>>
Java并发指南2:深入理解Java内存模型JMM
查看>>
Java并发指南5:JMM中的final关键字解析
查看>>
Java并发指南6:Java内存模型JMM总结
查看>>