【HDOJ】2054 A == B ?
这道题目起初看,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 ?的更多相关文章
- 1127: 【入门】A类多?B类多?
1127: [入门]A类多?B类多? 时间限制: 1 Sec 内存限制: 16 MB 提交: 3537 解决: 2406 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 一个自然数转换 ...
- Linux驱动实践:如何编写【 GPIO 】设备的驱动程序?
作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++.嵌入式.Linux. 关注下方公众号,回复[书籍],获取 Linux.嵌入式领域经典书籍:回复[PDF],获取所有原创文章( PDF 格式). ...
- 【BZOJ】2054: 疯狂的馒头
[题意]给定n个元素,m次给一段区间染色为i,求最终颜色. [算法]并查集 [题解]因为一个点只受最后一次染色影响,所以倒过来每次将染色区间用并查集合并,父亲指向最右边的点. 细节: 1.fa[n+1 ...
- 【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... ...
- 【HDOJ】4729 An Easy Problem for Elfness
其实是求树上的路径间的数据第K大的题目.果断主席树 + LCA.初始流量是这条路径上的最小值.若a<=b,显然直接为s->t建立pipe可以使流量最优:否则,对[0, 10**4]二分得到 ...
- 【 随笔 】 D3 难吗?
有不少朋友说学 D3 挺难的.为什么呢?想写一篇文章分析分析. 1. D3 出现的背景 D3.js 是 Github 上的一个开源项目,用于数据可视化.作者是 Mike Bostock,纽约时报的工程 ...
- Python开发【笔记】:谁偷了我的内存?
内存占用 Sayings: 最近被线上程序内存泄漏的问题搞的挺头大(程序在运行中内存占用不断的扩大),便开始看python内存垃圾回收机制.弱引用.循环引用相关的文章,着重查了一下自己的程序是不是真的 ...
- 【5min+】 巨大的争议?C# 8 中的接口
系列介绍 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的.net ...
- 【5min+】 设计模式的迷惑?Provider vs Factory
系列介绍 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的.net ...
随机推荐
- 第二十六篇、因为自定item(nav)而使系统右滑返回手势失效的解决方法
@interface ViewController () <uigesturerecognizerdelegate> @end@implementation ViewController ...
- 【html】【13】特效篇--下拉导航
html代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...
- C# ACM poj1004
水题.. public static void acm1004(float[] a) { ; foreach (var item in a) { sum += item; } Console.Writ ...
- [LINQ]查询关键字
摘自https://msdn.microsoft.com/zh-cn/library/bb310804.aspx,方便以后翻阅. from子句 查询表达式必须以 from 子句开头.另外,查询表达式还 ...
- CAF(C++ actor framework)使用随笔(projection 用法)(一)
最近干活在写毕设,用到了CAF,看了文档,发现了一些小坑,自己摸索写点随笔.(CAF的github网站 https://github.com/actor-framework/actor-framewo ...
- 结构型模式——Bridge(未完成)
1.意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化.
- Dreamweaver 添加 cakephp ctp后缀名
Dreamweaver 默认是不支持ctp文件高亮的,即使用Dreamweaver打开ctp文件,也只能像记事本一样编辑 但是我们可以通过修改两个文件,来添加Dreamweaver对ctp文件的扩展支 ...
- Android LruCache究竟是什么
源码: /frameworks/base/core/java/android/util/LruCache.java 文件开篇注释如下: A cache that holds strong refere ...
- ubuntu10.04搭建嵌入式开发环境
改源 配置vim set number set autoindent set smartindent set tabstop=4 set incsearch 安装g++ 配置samba 1.先安装程序 ...
- 【springmvc Request】 springmvc请求接收参数的几种方法
通过@PathVariabl注解获取路径中传递参数 转载请注明出处:springmvc请求接收参数的几种方法 代码下载地址:http://www.zuida@ima@com/share/1751862 ...