ACM初窥门径(一)

最近已经开始做了一些简单的杭电ACM题目作为入门,当然这些问题所涉及到的解题思路是非常简单的,算法也没有什么特别大的难度,主要的问题还是在于输入和输出的格式上的问题,然后对于某些方面的输入输出的刻板要求,感觉有点像高中的模式,就是有些过于注重解决的格式,而并不承认解决问题的多样方法。而且也是和高中的模式一样,有好多的题型,根据这些题型去解决问题,然后需要反复的练习,可能我的感觉也有点片面吧。虽然有点弊端,但是好处还是很多的,确实是一个掌握算法不错的途径。所以要好好加油。
废话不多说,直接上题:
1.ACM steps 1.1.8:
解题代码如下:

#include <stdio.h>int main(void) {int N, M, sum, a;scanf("%d", &N);while(N--) {sum = 0;scanf("%d", &M);while(M--) {scanf("%d", &a);sum += a;}if(0 != N) {printf("%d\n\n", sum);} else {printf("%d\n", sum);}}return 0;
}

这个题目的一个特殊格式在于,最后一个输出只有换一行,而不是换两行,有一点点狗血,但是自己还是思考了半天没有想到,在以前看来是一种奇怪的格式,以后一定要缜密的去思考题目要求,不过要吐槽以下的是,1.1.7中也是同样的输出示例,只不过是输出两个数的和,但是我按照每个输出后都有两个换行的格式去输出,最后却没有格式错误。
2.ACM2007
解题代码如下:

#include <stdio.h>int main(void) {int m, n, x, y, t;while(scanf("%d%d", &m, &n) != EOF) {x = y = 0;if(m > n) {t = m;m = n;n = t;} while(m <= n) {if(m % 2 == 0) {x += m * m;} else {y += m * m * m;}++m;}printf("%d %d\n", x, y);}return 0;
}

这次在输入上又翻了一次车,总是按照示例的思路去思考这个输入,殊不知示例已经悄悄的给你挖好了坑等着你跳,他从来没有说明 m n 之间到底是一种什么关系,既然没有说,也就代表着,他们两个谁大谁小是不确定的,两种情况也都是要考虑的,所以在一开始没有7-11行的代码,一直是错误,直到加上了这一段....输入上的坑也长了见识。
3.ACM2010
解题代码如下:

#include <stdio.h>int main(void) {int m, n, sum, t, a, b;int c[5];while(scanf("%d%d", &m, &n) != EOF) {t = 0;while(m <= n) {a = m;sum = 0;while(a != 0) {b = a % 10;a /= 10;sum += b * b * b;}if(sum == m) {c[t] = sum;++t;}++m;}if(t == 0) {printf("no\n");} else {for(int i = 0; i < t - 1; ++i) {printf("%d ", c[i]);c[i] = 0;}printf("%d\n", c[t - 1]);c[t] = 0;}}return 0;
}

这道题依稀记得当时上C语言课的时候还在上机课上做过,不过忘记当时怎么写的了,但是感觉解题的思路也不是很难,所以第一个想到的思路并不是上边解题的方法,而是直接在判断是否是水仙花数之后直接对数字进行输出,对也就是这样:

printf("%d ", sum);

对后边会有一个空格,那最后一个水仙花数怎么处理多出来的空格呢,当然我也想到了,因为这样输出的话必定要有一个标志变量来看是否在这个区间内有水仙花数,那么结束循环之后,如果标志变量表示没有水仙花数就输出no,如果有的话就输出一个/b,也就是循环结束后的代码是:

if(!have) {printf("no\n");
} else {printf("\b");
}

如此就可以顺利解决输出多一个空格的问题了,但是很遗憾,系统并没有认为我是对的,可能系统对于这种字符,还是认为他输出的是一串ASCII值而不是我们看到的机器输出的效果,所以在判断的时候也就自然认为我是错的,所以对于这种特殊字符上的使用,也需要谨慎。
好了,每一篇整理不超过三个吧,要不然显得特别乱,而且也不好看。

ACM初窥门径(一)相关推荐

  1. 网内计算:可编程数据平面和技术特定应用综述

    网内计算:可编程数据平面和技术特定应用综述 摘要--与云计算相比,边缘计算提供了更靠近终端设备的处理,降低了用户体验的延迟.最新的In-Network Computing范例采用可编程网络元素在数据达 ...

  2. [JS]在ACM模式下获取输入

    输入输出处理 核心代码模式处理 不需要处理任何输入输出,直接返回值即可. ACM 模式 你的代码需要处理输入输出,请使用如下样例代码读取输入和打印输出: while (line = readline( ...

  3. 九度OJ 1339:ACM (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:712 解决:379 题目描述: 今年的ACM世界总决赛快要开始了,需要有一个排名算法来对每支队伍进行现场排名.ACM组委会把这个任务交给了你 ...

  4. 【转】[退役]纪念我的ACM——headacher@XDU

    转自:http://hi.baidu.com/headacher/item/5a2ce1d50609091b20e25022 退役了,是时候总结一下我ACM的生涯了.虽然很舍不得,但这段回忆很值得纪念 ...

  5. 做acm 需要学的算法

    做acm 需要学的算法 转一个搞ACM需要的掌握的算法.  要注意,ACM的竞赛性强,因此自己应该和自己的实际应用联系起来.  适合自己的才是好的,有的人不适合搞算法,喜欢系统架构,因此不要看到别人什 ...

  6. [置顶]2010年东北大学ACM程序设计竞赛冬季校赛题解

    8题只做出4题比较easy的题,而且做得挺麻烦,看来还要多练练. AC的题如下 NEUOJ  1112 I Love Apple Description So many people love app ...

  7. HDOJ 1157 HDU 1157 Who's in the Middle ACM 1157 IN HDU

    MiYu原创, 转帖请注明 : 转载自 ______________白白の屋   题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1157 题目描述: ...

  8. acm经典题Mark

    著名的北邮ACM推荐50题 POJ推荐50题 1.标记"难"和"稍难"的题目可以看看,思考一下,不做要求,当然有能力的同学可以直接切掉. 2.标记为A and ...

  9. ACM训练小结-2018年6月16日

    今天题目情况如下: A题:线段树+XOR性质. 情况:由于写法问题,调试困难,浪费大量时间. B题:(对所有满足i mod p==q,求a[i]之和),无修改,直接上n*sqrt(n)的分块写法. 情 ...

  10. 【杭电ACM】1097 A hard puzzle

    [杭电ACM]1097  A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid=1097 先用int手写了算法结果竟然wrong answer ...

最新文章

  1. (转) java 复制文件,不使用输出流复制,高效率,文件通道的方式复制文件
  2. 工作294:for[item.key]使用
  3. Java垃圾回收jconsole分析
  4. python中的urllib库_Python2/3中的urllib库
  5. std::string一个极其隐晦得问题
  6. 汽车数据流分析常采用哪些方法?
  7. ## 编写一个从1到150的循环,并在每行打印一个值,另外在每个3的倍数行打印“foo“,在5的倍数行打印“biz“,在10的倍数行打印“baz“;
  8. python参考书目_Python 阅读书目推荐
  9. C语言的飞机订票系统
  10. 配电系统中的瞬时故障
  11. 网易游戏测试工程师面试小记
  12. word中自动生成参考文献引用及自动更新文献编号
  13. html如何让div一条边斜着,CSS3转换偏斜一侧
  14. 初识OFDM(八):OFDM中的PAPR计算和通频带仿真
  15. 静态页面复习--用semantic UI仿写豆瓣主页
  16. 关于Win10家庭版修改用户名的问题
  17. 例举电脑一键重装系统win10简单的步骤操作
  18. APMserv 5.2.6 安装教程
  19. 从DLL中动态加载一个函数:LoadLibrary和GetProcAddress的使用
  20. 云豹直播系统源码接入华为云存储,含问题及解决方法

热门文章

  1. mysql ndb安装_MySQL NDB源码安装
  2. 项目2:数据可视化(五)绘制世界人口地图
  3. android 耳机数据传输,智能手机耳机电路工作原理
  4. ArcGIS教程:Workflow Manager的基本词汇
  5. Warning from https://repo.packagist.org: Support for Composer 1 is deprecate
  6. 老男孩教育运维班100台规模集群全网数据备份项目上机实战
  7. 搜索引擎代码资源[转]
  8. iOS解决“The ‘Pods-XXX‘ target has transitive dependencies that include statically linked binaries”报错
  9. numpy求矩阵特征值与特征向量
  10. Selenium元素定位神器工具谷歌浏览器插件-ChroPath介绍,安装与使用