1625-5 王子昂 总结《2016年11月24日》 【连续第55天总结】
标题:蓝桥杯试题-蚂蚁感冒
A. 数据库视频一个 0%
蓝桥杯试题 100%
B. 首先列题:
长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。
每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。
当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。
这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。
请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。
思路为:首先,因为爬行速度相同,因此可以将距离无视而只考虑方向和顺序,则可以将数据抽象为一串有序的10字符。
(1)左端的蚂蚁头朝左则可以爬离;右端的蚂蚁头朝右则可以爬离;
由此设置结束条件--所有蚂蚁爬离
(2)碰面条件为两只蚂蚁相向;
由此设置每一轮内 遍历整个数据串,找出会碰面的蚂蚁,改变两只的方向并判断是否传染感冒。
思路很快有了,但是在代码实现上犯了很多错误。
比如说做排序时只把新加入的数取了绝对值,却忘记对数据内已存在的数取绝对值了;排序错了很久,折腾了半天才发现问题。
还有大小于号打错,变量和循环嵌套过多导致思路混乱等等。
对这个题目而言我觉得我想到解题方法还是足够快的,但是实现的时候耗费了非常多的时间。编写程序的经验还是太少,眼高手低,总是有思路就懒得去上机敲代码了。
这在实际编写稍微大一点儿的程序时就暴露出了不熟练的问题。需要加强。
另外我发现我不会用codeblocks的调试功能,只能通过在程序中间添加输出语句来检查各个变量的值,以前变量不多的时候还可以。
像这次变量多了许多的情况下,就很麻烦了。要去针对学习一下。
C. 明日计划
数据库视频一个
蓝桥杯历届试题