UVA 10714(Ants)贪心

本文介绍了一道经典的贪心算法题目——蚂蚁行走问题,通过分析题目要求和使用C++实现,给出了求解最短时间和最长时间的具体方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接:https://vjudge.net/problem/UVA-10714

刚看到这道题的时候觉得很熟悉,想起来之前刚学贪心时在白书上看过,去查了一下,POJ也有这题。

题意就是一个木棍上有许多只蚂蚁,两只蚂蚁相遇后会改变自己的方向,给出蚂蚁的位置,初始方向任意。求最短时间和最长时间。

思路:两只蚂蚁相遇再换方向就可以理解为蚂蚁穿过去了,直接求蚂蚁初始位置和木棍两端的距离,所有蚂蚁之间相互独立。

#include<bits/stdc++.h>

using namespace std;

int main()
{
   int T;
   while(cin>>T)
   {
       while(T--)
       {
           int l,n;
           cin>>l>>n;
           int ans1=0,ans2=0;
           for(int i=0;i<n;i++)
           {
               int num;
               cin>>num;
               ans1=max(ans1,min(num,l-num));
               ans2=max(ans2,max(num,l-num));
           }
           cout<<ans1<<' '<<ans2<<endl;
       }
   }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值