这题卡了好几天了。
这一题我觉得主要考的还是思维,
如果以蚂蚁为研究对象,就像第一篇chyuya写的题解那样,很明显难度非常高,那这个难度绝对不是入门级的难度,去蓝桥看了下原题,
难度: 简单 标签: 模拟, 思维, 2014, 省赛
所以我觉得这题重点不在模拟,而是在于思维。
第四篇purple_Circle讲的比较透,但是我觉得讲的还是不够透。
对于患病的蚂蚁来说,当它向右走时,它右边的蚂蚁向左走,那这只蚂蚁就会被感染。同理得如果患病的蚂蚁向左走,那他左边的蚂蚁向右走就会被感染。
我的理解是:
不用管这个患病的蚂蚁是往那边走,只有它左边和右边都有蚂蚁,结果就是r+l+1,只有当r=0或者l=0时,采用考虑患病蚂蚁的方向。
P1007独木桥的难度是普及-,但是我觉得还是这一题的难度更高。
我们不用纠结于蚂蚁,模拟的话可以考虑把问题看成是:
在一个坐标轴上,有几个不同的点,分别往两边移动,我们只需要考虑两个点交会时,如果有且只有一个点是带有病毒的,那么带病毒的点增加1.
具体代码可以参考题解2和4的代码,题解1和题解3的代码实在是太复杂了,膜拜大神。
我自己的代码写的比较水,就不贴了,嘿嘿。