sdnu 1206 蚂蚁感冒
2015-06-15 22:45
267 查看
Description:
长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。
Input:
第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数。
接着的一行是n个用空格分开的整数 Xi (-100 < Xi < 100), Xi的绝对值,表示蚂蚁离开杆子左边端点的距离。正值表示头朝右,负值表示头朝左,数据中不会出现0值,也不会出现两只蚂蚁占用同一位置。其中,第一个数据代表的蚂蚁感冒了。
Output:
要求输出1个整数,表示最后感冒蚂蚁的数目。
Sample Input
3
5 -2 8
Sample Output
1
因为不需要记录蚂蚁的 ID。
所以该题可以将蚂蚁的调头看成“对穿而过”。
长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。
Input:
第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数。
接着的一行是n个用空格分开的整数 Xi (-100 < Xi < 100), Xi的绝对值,表示蚂蚁离开杆子左边端点的距离。正值表示头朝右,负值表示头朝左,数据中不会出现0值,也不会出现两只蚂蚁占用同一位置。其中,第一个数据代表的蚂蚁感冒了。
Output:
要求输出1个整数,表示最后感冒蚂蚁的数目。
Sample Input
3
5 -2 8
Sample Output
1
因为不需要记录蚂蚁的 ID。
所以该题可以将蚂蚁的调头看成“对穿而过”。
#include<iostream> #include<algorithm> using namespace std; int ant[50 + 5]; bool cmp(int x, int y) //按距离排序 { x = x < 0 ? -x : x; y = y < 0 ? -y : y; return x < y; } int main() { int n; cin >> n; for (int i = 0; i < n; i++) cin>>ant[i]; int gm = ant[0],pos; //记录下第一只感冒蚂蚁的位置以及方向 sort(ant, ant + n, cmp); for (int i = 0; i < n; i++)//找到排序后M的位置 (M代指最初感冒的蚂蚁) { if (gm == ant[i]) { pos = i; break; } } int sum = 1; if (ant[pos] < 0) //若蚂蚁头朝左 { for (int i = 0; i < pos; i++)//则找 ①头朝右 ②在M左端的 所有蚂蚁 { if (ant[i]>0) sum++; } if (sum != 0) //必须判断M左端是否有头朝右的蚂蚁,否则,下面不成立 即不会有向右走的感冒蚂蚁 { for (int i = pos + 1; i < n; i++) { if (ant[i] < 0) sum++; } } } else //若蚂蚁头朝右,分析同上 { for (int i = pos + 1; i < n; i++) { if (ant[i] < 0) sum++; } if (sum != 0) { for (int i = 0; i < pos; i++) { if (ant[i]>0) sum++; } } } cout << sum << endl; return 0; }
相关文章推荐
- 心跳包机制(★firecat推荐★)
- WebRequest 对象的使用
- hiho一下 第五十周 (求欧拉路径)
- CentOS 5.5安装SVN(Subversion)
- find选项详解
- 1180:循环赛日程表
- UVALive - 3693 Balancing the Scale 枚举 + 状态压缩
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
- Maven-setting.xml详解
- 黑马程序员——Java基础---正则表达式
- 如何把握好你的黄金职场四年
- 提高 Vim 使用效率的 12 个技巧
- 查看锁
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)
- Entity Framework之问题收集
- 构建之法第10,11,12章读后感
- 42Exchange 2010升级到Exchange 2013-证书申请配置
- maven
- Invert Binary Tree
- Redis 一致性hash