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

#include <stdio.h>

#define MAXNUM 110000

char a[MAXNUM];
char b[MAXNUM]; void chg(char a[]) {
int i, beg, end, tmp; tmp = strlen(a);
if (a[] != '+' && a[] != '-') {
for (i=tmp; i>=; --i)
a[i+] = a[i];
a[] = '+';
tmp++;
} beg = ;
while (beg<tmp && a[beg] == '')
beg++; if (beg) {
if (beg> && a[beg] == '.')
beg--;
if (beg == tmp)
beg--;
for(i=beg; i<=tmp; ++i)
a[i-beg+] = a[i];
} tmp = ;
for (i=; i<strlen(a); ++i)
if (a[i] == '.') {
tmp = i;
break;
} if (tmp == ) {
tmp = strlen(a);
if (tmp== && a[]=='')
a[] = '+';
return ;
} else if (tmp == ) {
end = strlen(a);
for (i=end; i>=tmp; --i)
a[i+] = a[i];
a[tmp] = '';
tmp++;
} end = strlen(a) - ;
while (end>tmp && a[end] == '')
end--; if ( end == tmp )
a[end] = '\0';
else
a[end+] = '\0'; tmp = strlen(a);
if (tmp == && a[] == '')
a[] = '+';
} int main() {
int len1, len2;
int i, flg; while (scanf("%s %s", a, b) != EOF) {
chg(a);
chg(b);
len1 = strlen(a);
len2 = strlen(b);
//printf("%s\n", a);
//printf("%s\n", b);
if (len1 != len2)
printf("NO\n");
else {
flg = ;
for (i=; i<len1; ++i)
if (a[i] != b[i]) {
flg = ;
break;
}
if (flg)
printf("YES\n");
else
printf("NO\n");
}
} return ;
}

【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. (七)Hibernate 映射继承

    所有项目导入对应的hibernate的jar包.mysql的jar包和添加每次都需要用到的HibernateUtil.java 第一节:每个具体类对应一个表 Image.java package co ...

  2. 两种js监听滚轮事件的方式

    前段时间在写前端的时候,需要监听浏览器的滚轮事件 网上查了一下,找到两种监听滚轮事件的方法: 一.原生js通过window.onscroll监听 //window.onscroll = functio ...

  3. java继承实例。

    定义了一个点类point,然后线条类line继承了point类,正方形类Suare继承point类. package test; import javax.swing.*; public class ...

  4. 实现scp自动输入密码(判断yesno选项)

    1.apt-get install expect 2.编写shell脚本test.sh #!/usr/bin/expect -f#!/bin/shset password 1spawn scp roo ...

  5. cache在spring中使用

    一:参考文章 (1)http://haohaoxuexi.iteye.com/blog/2123030  Spring使用Cache,这篇文章讲的比较详细. 注:本文是对参考文章和实际使用中经验的总结 ...

  6. js模拟苹果菜单

    模拟苹果菜单的js代码是从网上看到的,用来做导航菜单还是蛮好看的.这里借鉴一下. 效果描述:当鼠标移动离哪个图片最近的时候,这个图片最大,鼠标离的图片越远,则图片越小: 原理:主要用到了三角形的勾股定 ...

  7. BFC(Box,Formatting,Context) —— 块级格式化上下文

    Box:CSS布局的基本单位 Formatting context是页面中的一块渲染区域,最常见的是BFC和IFC,CSS3增加了GFC和FFC BFC定义:块级格式化上下文,它是一个独立的渲染区域, ...

  8. Sublime Text 3 代码格式化插件推荐 CodeFormatter

    CodeFormatter CodeFormatter has support for the following languages: * PHP - By PHP_Beautifier* Java ...

  9. LAMP虚拟主机配置以及控制目录访问

    3.基于域名的虚拟主机配置 NameVirtualHost192.168.3.32:80#apache2.2.xx版本需要开启此选项,而且要和下面的保持一致:2.4.x版本就不需要此项设置了 < ...

  10. JS的this本质

    1.this究竟为何物? 1.1 全局上下文(Global context ) 在全局运行上下文中(在任何函数体外部),this 指代全局对象window,无论是否在严格模式下. alert(this ...