HDU-1017

9 篇文章 0 订阅
令人感到惊奇的是

此题关键在于题意的理解,看了Discuss版块的讨论.问题主要集中于读入的格式,题目中给出的第一个数据是何意两点之上.

OJ上的honey前辈写了一篇帖子,可以看看

 第一行就是要测试数据的组数(就是那么多的数据作为一组)。 然后下边的数据就是每一小组要测试的数据 并且每一小组以0 0结束,每一行结果要换行,每一组要换行,其中最后一大组结束时不换行。否则,就会Presentation Error。我试过的。
3

10 1
2 5
3 3
6 8
0 0

2 9
3 7
0 0

6 6
5 4
9 8
0 0
这就表示有三大组,每组的测试数据个数不定,以 0 0 结束。
希望对后边的同志有所帮助

 不过令我感到惊奇的是,第一个"要测试数据的组数后面"是否要读取空行引起了很大的争议.有人这么加了一句scanf("\n");自己由于是用C++完成的代码,所以没管这么多,直接上的cin>>n>>m;而没有理会空行的问题.

 

两个收获:1.和前面的问题一样,每每拿到一个问题,应该尽量使用自己的一切已有知识视图将问题化简,这样不仅能够在空间和时间上优化代码,而且有时能够把一个复杂的问题用很巧妙的方式解决.一开自己认为此题必然要使用double和Tolerance的误差判断方法来判断是否为整数商无疑,没想到Discuss上有前辈提供一种使用%号的方法,连封装一个单独的函数都省了.

2.开始学会使用

#ifdef ONLINE_JUDGE
#else freopen("xxxin.txt","r",stdio)
#endif

这样省去了每次提交之前都要注释掉freopen语句的麻烦.另外,网上查阅的资料cin的重定向似乎和C的机制不同,但是freopen方法可以适应C++/C两种方式,这是在很不错的一个宏解决方案.

 

参考文章:http://blog.csdn.net/wangfutao01/article/details/6473498

http://www.cnblogs.com/rootjie/archive/2012/01/22/2328785.html

 

 另外补充一句,单个.c或.cpp在Code Blocks中能够生成.exe,但是由于这不是一个Project,所以没有断点调试的办法,如果要使用Code Blocks的断点调试方法,必须要去新建一个Console App的工程才可以.

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值