这道题目起初看,so easy。再看一下ac率,注意到没有说明变量类型。显然是一道字符串的题。需要考虑+/-符号位,+.1、-.1、00010.0、+0、-00.00等情况,同时数组开到100000以上。wa了两次,第二次是才发现输出的是YES/NO,我一直输出的是yes/no,测了很多数据都是对的才发现是大小写错误,巨坑,而且代码写的也挺乱。

  1. #include <stdio.h>
  2.  
  3. #define MAXNUM 110000
  4.  
  5. char a[MAXNUM];
  6. char b[MAXNUM];
  7.  
  8. void chg(char a[]) {
  9. int i, beg, end, tmp;
  10.  
  11. tmp = strlen(a);
  12. if (a[] != '+' && a[] != '-') {
  13. for (i=tmp; i>=; --i)
  14. a[i+] = a[i];
  15. a[] = '+';
  16. tmp++;
  17. }
  18.  
  19. beg = ;
  20. while (beg<tmp && a[beg] == '')
  21. beg++;
  22.  
  23. if (beg) {
  24. if (beg> && a[beg] == '.')
  25. beg--;
  26. if (beg == tmp)
  27. beg--;
  28. for(i=beg; i<=tmp; ++i)
  29. a[i-beg+] = a[i];
  30. }
  31.  
  32. tmp = ;
  33. for (i=; i<strlen(a); ++i)
  34. if (a[i] == '.') {
  35. tmp = i;
  36. break;
  37. }
  38.  
  39. if (tmp == ) {
  40. tmp = strlen(a);
  41. if (tmp== && a[]=='')
  42. a[] = '+';
  43. return ;
  44. } else if (tmp == ) {
  45. end = strlen(a);
  46. for (i=end; i>=tmp; --i)
  47. a[i+] = a[i];
  48. a[tmp] = '';
  49. tmp++;
  50. }
  51.  
  52. end = strlen(a) - ;
  53. while (end>tmp && a[end] == '')
  54. end--;
  55.  
  56. if ( end == tmp )
  57. a[end] = '\0';
  58. else
  59. a[end+] = '\0';
  60.  
  61. tmp = strlen(a);
  62. if (tmp == && a[] == '')
  63. a[] = '+';
  64. }
  65.  
  66. int main() {
  67. int len1, len2;
  68. int i, flg;
  69.  
  70. while (scanf("%s %s", a, b) != EOF) {
  71. chg(a);
  72. chg(b);
  73. len1 = strlen(a);
  74. len2 = strlen(b);
  75. //printf("%s\n", a);
  76. //printf("%s\n", b);
  77. if (len1 != len2)
  78. printf("NO\n");
  79. else {
  80. flg = ;
  81. for (i=; i<len1; ++i)
  82. if (a[i] != b[i]) {
  83. flg = ;
  84. break;
  85. }
  86. if (flg)
  87. printf("YES\n");
  88. else
  89. printf("NO\n");
  90. }
  91. }
  92.  
  93. return ;
  94. }

【HDOJ】2054 A == B ?的更多相关文章

  1. 1127: 【入门】A类多?B类多?

    1127: [入门]A类多?B类多? 时间限制: 1 Sec 内存限制: 16 MB 提交: 3537 解决: 2406 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 一个自然数转换 ...

  2. Linux驱动实践:如何编写【 GPIO 】设备的驱动程序?

    作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++.嵌入式.Linux. 关注下方公众号,回复[书籍],获取 Linux.嵌入式领域经典书籍:回复[PDF],获取所有原创文章( PDF 格式). ...

  3. 【BZOJ】2054: 疯狂的馒头

    [题意]给定n个元素,m次给一段区间染色为i,求最终颜色. [算法]并查集 [题解]因为一个点只受最后一次染色影响,所以倒过来每次将染色区间用并查集合并,父亲指向最右边的点. 细节: 1.fa[n+1 ...

  4. 【HDOJ】2086 A1 = ?

    数学题,首先推导出2*sum{c1,c2...cn} = (An+1-An) - (A1-A0),在将n个该式相加,可以推导出(n+1)*A1=An+1+n*A0-2*sum{sum{c1,c2... ...

  5. 【HDOJ】4729 An Easy Problem for Elfness

    其实是求树上的路径间的数据第K大的题目.果断主席树 + LCA.初始流量是这条路径上的最小值.若a<=b,显然直接为s->t建立pipe可以使流量最优:否则,对[0, 10**4]二分得到 ...

  6. 【 随笔 】 D3 难吗?

    有不少朋友说学 D3 挺难的.为什么呢?想写一篇文章分析分析. 1. D3 出现的背景 D3.js 是 Github 上的一个开源项目,用于数据可视化.作者是 Mike Bostock,纽约时报的工程 ...

  7. Python开发【笔记】:谁偷了我的内存?

    内存占用 Sayings: 最近被线上程序内存泄漏的问题搞的挺头大(程序在运行中内存占用不断的扩大),便开始看python内存垃圾回收机制.弱引用.循环引用相关的文章,着重查了一下自己的程序是不是真的 ...

  8. 【5min+】 巨大的争议?C# 8 中的接口

    系列介绍 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的.net ...

  9. 【5min+】 设计模式的迷惑?Provider vs Factory

    系列介绍 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的.net ...

随机推荐

  1. 第二十六篇、因为自定item(nav)而使系统右滑返回手势失效的解决方法

    @interface ViewController () <uigesturerecognizerdelegate> @end@implementation ViewController ...

  2. 【html】【13】特效篇--下拉导航

    html代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...

  3. C# ACM poj1004

    水题.. public static void acm1004(float[] a) { ; foreach (var item in a) { sum += item; } Console.Writ ...

  4. [LINQ]查询关键字

    摘自https://msdn.microsoft.com/zh-cn/library/bb310804.aspx,方便以后翻阅. from子句 查询表达式必须以 from 子句开头.另外,查询表达式还 ...

  5. CAF(C++ actor framework)使用随笔(projection 用法)(一)

    最近干活在写毕设,用到了CAF,看了文档,发现了一些小坑,自己摸索写点随笔.(CAF的github网站 https://github.com/actor-framework/actor-framewo ...

  6. 结构型模式——Bridge(未完成)

    1.意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化.

  7. Dreamweaver 添加 cakephp ctp后缀名

    Dreamweaver 默认是不支持ctp文件高亮的,即使用Dreamweaver打开ctp文件,也只能像记事本一样编辑 但是我们可以通过修改两个文件,来添加Dreamweaver对ctp文件的扩展支 ...

  8. Android LruCache究竟是什么

    源码: /frameworks/base/core/java/android/util/LruCache.java 文件开篇注释如下: A cache that holds strong refere ...

  9. ubuntu10.04搭建嵌入式开发环境

    改源 配置vim set number set autoindent set smartindent set tabstop=4 set incsearch 安装g++ 配置samba 1.先安装程序 ...

  10. 【springmvc Request】 springmvc请求接收参数的几种方法

    通过@PathVariabl注解获取路径中传递参数 转载请注明出处:springmvc请求接收参数的几种方法 代码下载地址:http://www.zuida@ima@com/share/1751862 ...