Ant题解


Description:

一根长度为L厘米的木棒上有N只蚂蚁,每只蚂蚁要么向左走,要么向右走,速度为1厘米/秒。当两只蚂蚁相撞时,他们会同时掉头(掉头时间不计)给出每只蚂蚁距离木棒左端的距离,问多少秒后,刚好所有蚂蚁都从木棒上掉下来。

N 和 L均不超过1000

输入第一行两个整数,分别是N和L

接下来N行,每行先是一个字符,L或R,代表向左还是向右,然后是一个整数x,代表这个蚂蚁距离木棒左端的距离。

样例输入:

4 10

R 1

R 5

L 3

R 9

样例输出:

9


难度:0


 

Hint:

假设你在远处观察两只蚂蚁相向而行,他们相撞后掉头,和直接穿过有什么区别?

 
刚开始看到题目有点被吓到~.~仔细分析,会发现题目要我们求的就是最后一只蚂蚁掉下来的时间,其实就是它走过的路程长度。那么掉头与不掉头有什么区别呢?下面放张图
掉头与否对最后一只蚂蚁走过的路程长度没有影响,是不是觉得很神奇~~要思考,假设没有提示能想到么?
代码:
#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     作者:羽珞     发布日期:2015/12/14     本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。


 
© 2014-2017 ITdaan.com 粤ICP备14056181号