标签:
一根长度为L厘米的木棒上有N只蚂蚁,每只蚂蚁要么向左走,要么向右走,速度为1厘米/秒。当两只蚂蚁相撞时,他们会同时掉头(掉头时间不计)给出每只蚂蚁距离木棒左端的距离,问多少秒后,刚好所有蚂蚁都从木棒上掉下来。
N 和 L均不超过1000
输入第一行两个整数,分别是N和L
接下来N行,每行先是一个字符,L或R,代表向左还是向右,然后是一个整数x,代表这个蚂蚁距离木棒左端的距离。
样例输入:
4 10
R 1
R 5
L 3
R 9
样例输出:
9
难度:0
假设你在远处观察两只蚂蚁相向而行,他们相撞后掉头,和直接穿过有什么区别?
#include<stdio.h> int main() { int N, L; int x, max = 0, i; char a; scanf("%d%d", &N, &L); for (i = 1; i <= N; i++) { // i从0到n-1或许更为常用 scanf("%s%d", &a, &x); if (a == ‘R‘) { x = L - x; // 往右走的蚂蚁,那么忽略掉头问题,走过的路程长度就是木棒长度减去距离左端的值 } if (x > max) { max = x; } } printf("%d\n", max); return 0; }
题后反思:平时做题可以多思考给出的示例,自己来模拟这个过程,重点要动手,有时候单纯思考是没有用的~~
(第一次写题解,慢慢积累经验~.~)
标签:
原文地址:http://www.cnblogs.com/xieyuanzhen-Feather/p/5046170.html