洛谷P1007 独木桥 题解
题目背景
战争已经进入到紧要时间。你是运输小队长,正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。士兵们十分愤怒,因为这座独木桥十分狭窄,只能容纳 11 个人通过。假如有 22 个人相向而行在桥上相遇,那么他们 22 个人将无法绕过对方,只能有 11 个人回头下桥,让另一个人先通过。但是,可以有多个人同时呆在同一个位置。
题目描述
突然,你收到从指挥部发来的信息,敌军的轰炸机正朝着你所在的独木桥飞来!为了安全,你的部队必须撤下独木桥。独木桥的长度为 �L,士兵们只能呆在坐标为整数的地方。所有士兵的速度都为 11,但一个士兵某一时刻来到了坐标为 00 或 �+1L+1 的位置,他就离开了独木桥。
每个士兵都有一个初始面对的方向,他们会以匀速朝着这个方向行走,中途不会自己改变方向。但是,如果两个士兵面对面相遇,他们无法彼此通过对方,于是就分别转身,继续行走。转身不需要任何的时间。
由于先前的愤怒,你已不能控制你的士兵。甚至,你连每个士兵初始面对的方向都不知道。因此,你想要知道你的部队最少需要多少时间就可能全部撤离独木桥。另外,总部也在安排阻拦敌人的进攻,因此你还需要知道你的部队最多需要多少时间才能全部撤离独木桥。
输入格式
第一行共一个整数 �L,表示独木桥的长度。桥上的坐标为 1,2,⋯ ,�1,2,⋯,L。
第二行共一个整数 �N,表示初始时留在桥上的士兵数目。
第三行共有 �N 个整数,分别表示每个士兵的初始坐标。
输出格式
共一行,输出 22 个整数,分别表示部队撤离独木桥的最小时间和最大时间。22 个整数由一个空格符分开。
输入输出样例
输入 #1复制
4
2
1 3
输出 #1复制
2 4
说明/提示
对于 100%100% 的数据,满足初始时,没有两个士兵同在一个坐标,1≤�≤5×1031≤L≤5×103,0≤�≤5×1030≤N≤5×103,且数据保证 �≤�N≤L。
代码走起!!!
#include<bits/stdc++.h>
using namespace std;
int n,m,minx,maxx;
int max(const int &a,const int &b){return a>b?a:b;
}
int min(const int &a,const int &b){return a<b?a:b;
}
int main(){scanf("%d%d",&n,&m);int x;maxx=0;minx=0;for(int i=1;i<=m;i++){scanf("%d",&x);maxx=max(maxx,max(x,n-x+1));minx=max(minx,min(x,n-x+1));}cout<<minx<<" "<<maxx;return 0;
}
洛谷P1007 独木桥 题解相关推荐
- c/c++ 洛谷 P1007 独木桥
题目链接 洛谷 P1007 独木桥 不想戳的看下图 输入输出.样例.及数据范围 解题思路: 仔细考虑会发现,两个人相遇无论转不转身两个人所走的 总路程 都是一样的,那么时间也都一样,所以我们大可让两个 ...
- 试试把OJ题意抽象成物理模型(洛谷P1007题题解,Java语言描述)
题目要求 P1007题目链接 分析 这题干出的,真有毒... 要是有这种指挥官,也是醉了... 言归正传,这题其实是可以贪心求解的,但我们还可以更加666... 事实上,题干上面那一大篇基本在扯,关键 ...
- 洛谷P1007——独木桥 解法 (C++)
Hi 又见面了呀 今天来一道洛谷的题 独木桥 先上个题目传送门(点击蓝字即可观看) 注:该博客已在2020年6月24日更新,更新内容:修复了一些由于字体原因导致的错误 题目背景 战争已经进入到紧要时间 ...
- 洛谷P1007 独木桥(贪心)
文章目录 题目背景 题目描述 输入格式 输出格式 输入样例 输出样例 说明 分析 AC的C++代码 题目背景 战争已经进入到紧要时间.你是运输小队长,正在率领运输部队向前线运送物资.运输任务像做题一样 ...
- 洛谷 P1007 独木桥
思路:士兵过独木桥,如果两个人相遇后两个人就互换位置,其实我们可以把其抽象出来,我们可以把士兵看成一个透明的人,因为相遇两者就换方向,那和一个人一直往前走没啥区别所以可以抽像出来,最短的时间是所有人中 ...
- Java实现洛谷 P1007独木桥
题目背景 战争已经进入到紧要时间.你是运输小队长,正在率领运输部队向前线运送物资.运输任务像做题一样的无聊.你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们.士兵 ...
- 洛谷 P1007独木桥 C语言
当两个人相遇的时候,两个人同时掉头,和两个人不掉头,直接互相穿过的时间和步骤是一模一样的.相信答题者想到这里,问题就迎刃而解了. 首先定义一个数组 Add[5001],将所有士兵站的位置按 j=0~1 ...
- 洛谷P1816 忠诚 题解
洛谷P1816 忠诚 题解 题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人 ...
- 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)
题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...
最新文章
- 问题.beego路由设置及请求参数传递
- 使用memcache的session入库
- Python高级特性:切片
- RDLC 2010设计器的数据源无法找到静态类作为数据源
- 这些基础协议,你懂吗?
- Sh“.NET研究”arePoint开发笔记-SharePoint2010添加ASP.NET应用程序
- 简述如何书写工程化的简单代码
- 英寸和厘米的交互python_Python的新手-尝试将厘米编码为英寸,反之亦然
- PHP案例:连接数据库实现登录功能
- HttpClient 入门与正确使用姿势
- ios cell点击对勾_带图像和对勾的iOS自定义TableView
- python3获取邮件附件,获取邮件附件到python文件对象
- python 中文官方手册
- 淘客基地淘客小程序微信审核通过率90%以上的独家秘籍
- matlab 无穷级数求和,数项级数的求和方法.doc
- DDMS中data打不开
- qq文件对方接收后一定会有提示吗_QQ接收别人发的文件怎么设置不弹出接收信息...
- android 实现果冻动画效果,Android实现果冻滑动效果的控件
- 打印程序在计算机上的应用程序,修复无法在计算机上运行的后台打印程序服务的操作步骤...
- 拥抱变化,面向Java17,Java8-18全系列特性详解