吐血、、、关于小Q的穿越问题

作者在参与腾讯马拉松编程竞赛时遇到日期计算问题,经历多次调试和测试,最终通过修改判断条件解决问题并成功接受。文章分享了调试过程中的思考与改进策略。

 吐血、、、

昨天参加腾讯马拉松,当然没报什么晋级的希望,只望能多增加一点参赛经验。第一道题小Q穿越问题。讲的是小Q,和女友相约穿越,但是两人一个穿越到古代,一个穿越到未来。问题就是给你2013-03-24.输入穿越天数,问你他俩分别穿越后的日期。。。。

我写了40分钟,写完。提交WA。郁闷。改吧,改了很久,总是看不出错误。我想可能是测试数据太少造成的。我就想搞点正确数据测试。我就用百度到excel可以计算日期加上天数后的日期。我就搞excel。一会果断关掉excel。因为我短时间内不可能上手这个日期计算问题。又百度到win7自带的计算器可以实现日期计算。于是一组一组的测试。先用计算器测出加上某个天数后的正确日期,再用我的程序测试。N组结果一一符合。我想是不是天数太少了。因为电脑的计算器只能加最多999天。于是

又百度到一个在线测试的,我把加上10000天的结果都比对了,是一样的,我想是不是vc不标准造成的,我写了某些不正确的语法,只有在vc通过,而在杭电却不通过。于是把我能想到的可能错的地方,一一修改。但结果都是WA。期间还换了c++的提交方式。(我使用c语言写的代码)。最终一个小时候无果,依旧WA了11次。再看其他题也没时间,也没心情了。

今天下午,翻开自己写烂了的代码。承认自己写的很烂。没有注释其他人几本是看不懂的。当然我自己是看的懂得。。。我浏览了一遍,还是看不出错误。于是大修,删了很多东西,把大部分运算抽象成函数。在我继续改的时候我发现一个地方,判断的时候是if(m<0).我想是不是应该是<=0呢。<0可能会出现日数为零的情况吧。。。我也没敢确定。只是试试。又找到最初的代码。改了一下。在杭电那里提交。(马拉松的题目在比赛后都挂到了题目的36页)刷新一下Accepted。。

吐血、、、、

转载于:https://www.cnblogs.com/unclejelly/archive/2013/03/24/4082184.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值