Ants

题目明天发

n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离竿子左端的距离xi,但不知道它当前的朝向。请计算所有蚂蚁落下竿子所需的最短时间和最长时间。

#include <iostream>

using namespace std;

int s[10] = {0};//存放每个蚂蚁离左侧的距离
int lenght;//杆子长度
int count;//蚂蚁数量
int maxx = 0;
int minn = 0;

void in();
void out();
void solve();
int max(int, int);
int min(int, int);

int main()
{

    in();
    solve();
    out();

    return 0;
}

void in()
{
    cin >> lenght;
    cin >> count;
    int i;
    for (i = 0; i < count; ++i)//输入每一个蚂蚁距离
    {
        cin >> s[i];
    }
}

void solve()
{
    int i;
    for (i = 0; i < count; ++i)
    {
        maxx = max(maxx, max(lenght-s[i], s[i]));
        minn = max(minn, min(lenght-s[i], s[i]));
    }
}

void out()
{
    cout << maxx << " ";
    cout << minn << endl;
}

int max(int a, int b)
{
    return a>b?a:b;
}

int min(int a, int b)
{
    return a<b?a:b;
}


你可能感兴趣的:(Ants)