hdu 2054 A==B?
来源:互联网 发布:搜索引擎与大数据 编辑:程序博客网 时间:2024/06/07 11:33
hdu 2054 A==B?
看到题目时 开心的一匹 以为是个水题 结果刷了半天 还没A 最后去搜博客
题目描叙:就是给你两个数,判断他们是否相等,如果相等就输出 YES,不相等就输出 NO。
解题思路:开始就直接去 int a,b; 判断他们是否相等,结果WA,看来还是太年轻。首先,有可能是个很大很大的数,所以要用字符,然后还要判断这个数前面和小数点后面有没有多余的0,比如说 0001234.4560 和1234.456 就是相等的,所以要消除前面和小数点后面的0,然后再去判这两个字符串是否相等,strcmp()函数判字符串是否相等。
能AC 的代码:
#include <stdio.h>#include <string.h>#include <iostream>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(scanf("%s%s",a,b)!=EOF) { change(a); change(b); if(strcmp(a,b)) printf("NO\n"); else printf("YES\n"); } return 0;}
但是有bug,只能说测试机太水了。
上面的代码只能 去掉小数点后面的0,不能去前面多余的0。
测试样例:
本人觉得能ac的代码,却是WA ,代码如下:
#include<iostream>#include<cstdio>#include<cstring>char a[10000],b[10000];using namespace std;void fuck(char *str){ int i,len; char *p=str; while(*p=='0') { p++; } strcpy(str,p); len=strlen(str); if(strstr(str,".")) { for(i=len-1;str[i]=='0';i--) { str[i]='\0'; len--; } } if(str[len-1]=='.') str[len-1]='\0'; //printf("%s\n",str);}int main(){ while(scanf("%s%s",a,b)!=EOF) { fuck(a); fuck(b); if(!strcmp(a,b)) printf("YES\n"); else printf("NO\n"); } return 0;}
坚持,加油刷题!
0 0
- HDU 2054 A == B ?
- HDU 2054 A==B
- hdu acm 2054 A == B ?
- hdu - 2054 - A == B ?
- hdu 2054 A == B ?
- Hdu 2054 - A == B ?
- hdu 2054 A == B ?【JAVA】
- hdu 2054 A==B?
- HDU 2054 A == B ?
- hdu 2054 A==B?
- hdu 2054 A == B ?
- HDU--2054 -- A == B ? [字符串]
- HDU 2054 - A == B ?
- HDU 2054 A == B ?
- HDU-2054 A==B?
- HDU 2054 A==B? 大数
- HDU 2054 A == B ?
- hdu 2054A == B ?
- ext-3.2.0-含api和使用实例下载
- jQuery的简单应用
- 8种经典排序之冒泡排序
- jQuery的简单应用
- jQuery的简单应用
- hdu 2054 A==B?
- Jquery mobile 在手机page切换白屏闪烁问题
- jQuery的简单应用
- 解决PyQt中从文件读取内容输出到界面乱码的问题
- jQuery的简单应用
- [BZOJ1051][HAOI2006]受欢迎的牛
- jQuery的简单应用
- 什么是BOM头
- QT中PRO文件写法的详细介绍,很有用,很重要!