题目:
输入输出:
分析:
1、如果两只健康的蚂蚁碰面之后,两只蚂蚁就会分别掉头,我们可以将这种情况看做两只蚂蚁都穿过了对方,每只蚂蚁还是保持原来的方向不变进行前进。
2、两只蚂蚁中的一只感冒,当两只蚂蚁碰面之后,按照之前的分析,这个感冒的蚂蚁仍然会按照原来的方向前进,但是此时,另一个健康蚂蚁穿过这只感冒的蚂蚁之后,自身也就会感冒。
综合上面的情况,我们假设刚开始感冒的蚂蚁头朝向左边,那么,此时这只感冒蚂蚁的左边的蚂蚁如果有朝向右边前进的都会被感染,左边的蚂蚁感染之后仍会继续前进,之后就会将感冒蚂蚁的右边的蚂蚁朝向左边前进的感染。但是如果感冒蚂蚁的左边蚂蚁没有朝向右边前进的,那么最终就只有它自身感冒。同样的情况也适用于开始的时候干嘛的蚂蚁头朝向右边。
代码:
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
const int MAXN =