【杭电】[2054]A==B
2015-12-20 18:09
267 查看
一开始觉得非常简单的一道题
结果写了这么多
发完代码再说话:
[code]#include<stdio.h> #include<string.h> int main() { char A[200000],B[200000],M[200000]; int i,n,k,x; memset(B,'\0',sizeof(A)); memset(B,'\0',sizeof(B)); while(scanf("%s %s",&A,&B)!=EOF) { for(n=0; n<strlen(A); n++) { if(A !='0') { break; } } for(i=n,k=0; i<200000; i++,k++) M[k]=A[i]; memset(A,'\0',sizeof(A)); for(i=0,n=strlen(M); i<strlen(M); i++) { if(M[i]=='.') { for(; n>0; n--) { if(M[n-1]!='0'&&M[n-1]!='.') { break; } if(M[n-1]=='.') { M[n-1]='\0'; break; } } } } for(i=0,k=0; i<n; i++,k++) A[k]=M[i]; memset(M,'\0',sizeof(M)); for(n=0; n<strlen(B); n++) { if(B !='0') { break; } } for(i=n,k=0; i<200000; i++,k++) M[k]=B[i]; memset(B,'\0',sizeof(B)); for(i=0,n=strlen(M); i<strlen(M); i++) { if(M[i]=='.') { for(; n>0; n--) { if(M[n-1]!='0'&&M[n-1]!='.') { break; } if(M[n-1]=='.') { M[n-1]='\0'; break; } } } } for(i=0,k=0; i<n; i++,k++) B[k]=M[i]; if(strcmp(A,B)) printf("NO\n"); else { printf("YES\n"); } } return 0; }
还是放在杭电11页中的中文题
第一次感受到来自ACM满满的恶意……
当时天真的以为是这样的:
[code]if(a==b) printf("YES\n"); else printf("NO\n");
但是!
在WA了之后
看了讨论区
感受到气氛诡异
学长又说这一题暂时不用做
甚至有的说他到现在都没AC这一题
但……初生牛犊不怕虎
最后AC的时候好高兴啊
最后发现一直卡住我的是数组初识化的问题-.-
思路都是对的
而且我的这个代码似乎还多考虑了一些不用考虑的问题
总之……
题目地址:【杭电】[2054]A==B
相关文章推荐
- Java四类八种数据类型
- 多线程下载的原理(1) java事例
- 安卓中对数据库的操作(增删改查)
- linux用户权限管理
- 分享代码格式的js书写
- Unity Text加入超链接
- 期末总结
- Sublime Text配置集锦
- BZOJ2132: 圈地计划
- redis研究与探索(一)-安装部署
- 混淆编译-proguard
- 经济--基金
- 用python写一个windows下的定时关机脚本
- HTTP协议之:报文详解
- python核心编程-标准类型派生-可变类型
- 最高分是多少(华为机试)
- [leetcode] 20. Valid Parentheses 解题报告
- preventDefault()方法
- chapter23:软件安装RPM,SRPM与YUM之(0)-软件管理器的简介
- LeetCode 290:Word Pattern