HDU 2054 A == B ?
来源:互联网 发布:隐秘录像 知乎 编辑:程序博客网 时间:2024/05/21 10:55
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2054
题意:给两个数,判断这两个数是否相等。没有范围没有填写规则
代码:
这个是自己写的很长
#include<stdio.h>#include<string.h>int main(){ char s1[100000]; char s2[100000]; int t; int i,j; int l1,l2,r1,r2; while(scanf("%s %s",s1,s2)!=EOF) { /*判断正负号*/ if((s1[0]=='-' && s2[0]!='-' ) || (s1[0]!='-' && s2[0]=='-')) goto A; else { if(s1[0]=='+' || s1[0]=='-') s1[0]='0'; if(s2[0]=='+' || s2[0]=='-') s2[0]='0'; } /*如果有小数点则从后向前查找0,并记录第一个不为0的位子*/ l1 = strlen(s1)-1; l2 = strlen(s2)-1; if(strchr(s1,'.')) while(s1[l1]=='0') l1--; if(strchr(s2,'.')) while(s2[l2]=='0') l2--; if(s1[l1]=='.')l1--; if(s2[l2]=='.')l2--; /*从前向后查找0,并记录第一个不为0的位子*/ r1 = 0; r2 = 0; while(s1[r1]=='0') r1++; while(s2[r2]=='0') r2++; /*判断长度*/ if(l1-r1 != l2-r2) goto A; /*比较*/ i=r1; j=r2; t=1; for(; i<=l1&&j<=l2 ; i++,j++) if(s1[i]!=s2[j]) { t=0; break; } /*输出结果*/ if(t) printf("YES\n"); else A:printf("NO\n"); } return 0;}
这个是在网上找的:
#include <stdio.h>#include <string.h>void A(char *s){ int len = strlen(s); char *p = s + len - 1; if (strchr(s, '.')) while (*p == '0') *p-- = 0; if (*p == '.') *p = 0;}int main(void){ char *pa, *pb; char a[100024], b[100024]; while (scanf("%s%s", &a, &b) != EOF) { pa = a; pb = b; while (*pa == '0') pa++; while (*pb == '0') pb++; A(pa); A(pb); puts(strcmp(pa, pb) ? "NO" : "YES"); } return 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 ?
- Ruby学习过程中积累下来的测试代码
- JQMobile(Jquery一样能用)中如何获得远程的json数据并绑定
- 给Android的音量按钮添加监听事件
- Android自动化测试初探: 捕获Activity上的Element
- 六月新版微软一站式示例代码库发布 - 新增20个Windows示例代码 .
- HDU 2054 A == B ?
- JavaScript 大括号和小括号(...)()
- 下载
- 百度文库的所有内容都可以不用财富值下载
- Android 模拟按键——源码环境下开发应用程序
- onbeforeunload与onunload事件
- 抽象工厂与工厂方法的区别
- android所需开发环境:
- android 导入外部数据库