Ants(POJ No.1852)

在这里插入图片描述题目链接POJ No.1852
POJ不支持C++的万能头文件#include <bits/stdc++.h>
问题分析:
1.最短时间:要是时间最短,则所以蚂蚁不会相遇且方向为朝向最近端点的一侧
2.最长时间:如果两只蚂蚁相遇,假设他们交叉走,每只蚂蚁的运动均看作相互独立,最长时间只要求蚂蚁到顶端的距离最大即可

#include <bits/stdc++.h>
#include <iostream>
using namespace std;
#define Max 1000000
int a[Max];
int main()
{
    int L,n,i,minT = 0,maxT = 0;
    cin >> L >> n;
    for(i = 0;i< n;i++)
    {
        cin >> a[i];
        minT = max(minT,min(a[i],L - a[i]));   
        maxT = max(maxT,max(a[i],L - a[i]));
    }
    cout << "最短时间:" << minT << endl;
    cout << "最长时间:" << maxT << endl;
    return 0;
}

测试结果:
在这里插入图片描述
时间复杂度:O(n)

发布了5 篇原创文章 · 获赞 0 · 访问量 37

猜你喜欢

转载自blog.csdn.net/m0_43425029/article/details/104971794
今日推荐