现在的位置: 首页 > 综合 > 正文

POJ 1852 Ants

2013年01月06日 ⁄ 综合 ⁄ 共 375字 ⁄ 字号 评论关闭

一.题意

题目大意:很多的蚂蚁都在长度为L(cm)的膀子上爬行,它们的速度都是1cm/s,到了棒子终端的时候,蚂蚁就会掉下去。如果在爬行途中遇到其他蚂蚁,两只蚂蚁的方向都会逆转。已知蚂蚁在棒子的最初位置坐标,但是我们不知道他们会往哪一个方向爬。请求出所有蚂蚁掉下去的最短时间和最长时间。

二.解法

为了思考最长时间,考虑相遇时发生什么(相遇可以看作交错而过),不论最长还是最短,对每一只检查一次就可以了.

int L,N,X[MXN];
void solve(){
    int minT=0;
    for(int i=0;i<N;++i)
        minT=max(minT,min(X[i],L-X[i]));

    int maxT=0;
    for(int i=0;i<N;++i)
        maxT=max(maxT,max(X[i],L-X[i]));
    printf("%d %d\n",minT,maxT);
}

抱歉!评论已关闭.