洛谷题解:P1007 独木桥
洛谷题解:P1007 独木桥
题目背景:
战争已经进入到紧要时间。你是运输小队长,正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。士兵们十分愤怒,因为这座独木桥十分狭窄,只能容纳111个人通过。假如有222个人相向而行在桥上相遇,那么他们222个人将无妨绕过对方,只能有111个人回头下桥,让另一个人先通过。但是,可以有多个人同时呆在同一个位置。
题目描述:
突然,你收到从指挥部发来的信息,敌军的轰炸机正朝着你所在的独木桥飞来!为了安全,你的部队必须撤下独木桥。独木桥的长度为LLL,士兵们只能呆在坐标为整数的地方。所有士兵的速度都为111,但一个士兵某一时刻来到了坐标为000或L+1L+1L+1的位置,他就离开了独木桥。
每个士兵都有一个初始面对的方向,他们会以匀速朝着这个方向行走,中途不会自己改变方向。但是,如果两个士兵面对面相遇,他们无法彼此通过对方,于是就分别转身,继续行走。转身不需要任何的时间。
由于先前的愤怒,你已不能控制你的士兵。甚至,你连每个士兵初始面对的方向都不知道。因此,你想要知道你的部队最少需要多少时间就可能全部撤离独木桥。另外,总部也在安排阻拦敌人的进攻,因此你还需要知道你的部队最多需要多少时间才能全部撤离独木桥。
输入格式:
第一行:一个整数LLL,表示独木桥的长度。桥上的坐标为111…LLL
第二行:一个整数NNN,表示初始时留在桥上的士兵数目
第三行:有NNN个整数,分别表示每个士兵的初始坐标。
输出格式:
只有一行,输出222个整数,分别表示部队撤离独木桥的最小时间和最大时间。222个整数由一个空格符分开。
输入输出样例:
输入:
4
2
1 3
输出:
2 4
分析:
这个题看似花里胡哨运动影响因素很多,但是对于这种较为复杂的模拟题(至少在洛谷是普及-。。。)
要注意是否可以等价转化。
因为转身没有时间,所以即使两个人相遇相互反向出独木桥,用的时间和二者穿插过去(径直
走出独木桥)是一样的,这样就把问题大大简化了。
代码:
#include<iostream>
#include<string>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>using namespace std;int main()
{int l;int n;int maxi[6000] = {0},mini[6000] = {0};cin>>l>>n;for(int i = 0;i < n;i++){int x;cin>>x;maxi[i] = max(x, l + 1 - x);mini[i] = min(x, l + 1 - x);}sort(maxi,maxi+n);sort(mini,mini+n);cout<<mini[n-1]<<" "<<maxi[n-1]<<endl;return 0;
}
洛谷题解:P1007 独木桥相关推荐
- 洛谷-题解 P2672 【推销员】
独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...
- 洛谷题解——P2814 家谱
题目相关 题目链接 洛谷,https://www.luogu.com.cn/problem/P2814. MYOJ,http://47.110.135.197/problem.php?id=5344. ...
- 【洛谷题解】P2433 【深基1-2】小学数学 N 合一
目录 [深基1-2]小学数学 N 合一 题解 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 题目解析 问题 1~5 问题 6~10 问题 10~14 发牢骚 完整代码 谢谢 ...
- 洛谷题解——P1621 集合
题目相关 题目链接 洛谷,https://www.luogu.com.cn/problem/P1621. MYOJ,http://47.110.135.197/problem.php?id=5342. ...
- 洛谷题解——P1873:砍树
视频讲解可以直接点击这个 B 站链接,https://www.bilibili.com/video/BV1jk4y1k7hq/. 题目相关 题目链接 洛谷,https://www.luogu.com. ...
- 洛谷题解——P1024:一元三次方程求解
视频讲解可以直接点击这个 B 站链接,https://www.bilibili.com/video/BV1qT4y13717/. 题目相关 题目链接 洛谷,https://www.luogu.com. ...
- 题解系列009 | 洛谷题解 CF488A 【Giga Tower】
原题传送门:Giga Tower 一.题意 题目(传送门)给一个绝对值不超过十位的整数,想计算至多加几后会在和数中出现数字 888. 二.分析 看到这道题,我们最容易想到的当然是暴力枚举,但是首先需要 ...
- 洛谷【p1007】独木桥
首先我们先看一下独木桥的题目哈!!! 题目背景 战争已经进入到紧要时间.你是运输小队长,正在率领运输部队向前线运送物资.运输任务像做题一样的无聊.你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上 ...
- 【洛谷题解】P2356 弹珠游戏
本人第一篇题解 今天闲着没事,随机跳题,然后看到这题,觉得运气爆棚,计蒜客L2时空复杂度的课后原题,微改. 首先,这题我们可以知道枚举处理就行,注意点: 1.千万要分清每个数组的用途,不要写错!!本蒟 ...
- 洛谷题解 P1713 【麦当劳叔叔的难题】
这是一道很好的搜索题. 既然是最大时间与最小时间的差,所以可以先用BFS求出最少时间:再用DFS求出最大时间(但注意要剪枝,不然会超时). 话不多说,进入正题. 既然可以有四个方向可以走,那么我们可以 ...
最新文章
- python GIL :全局解释器
- 【错误记录】Mac 中 IntelliJ IDEA 运行 Python 程序报错 ( “Python“ 因为出现问题而无法打开 )
- 批量域更改客户端本地administrator密码
- Asp.Net Core--基于角色的授权
- 从零写一个编译器(一):输入系统和词法分析
- 汉字正字表达式解决方案
- 飞行模式的开启和关闭
- SQL server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法...
- 20 个很棒的 jQuery Mobile 教程
- 【追一科技】AAAI、ACL、EMNLP等顶会论文成果分享
- 配送中心数据迁移项目(SDC to PDC Data Migartion)
- (一)查询出排序中的最大值和最小值
- Qt网络编程之获取网络信息
- vscode下载安装及中文配置
- 地图分幅编号C 语言编程,地图分幅与编号
- 若依前端分离版整合mybatis-plus
- 韦东山第3期嵌入式Linux项目-视频监控-1-v4l2视频框架分析
- excel 如何将带杠的日期转换成不带杠的格式
- 魔方自动还原程序3D版本和2D 修正版
- Python进阶——循环对象
热门文章
- 微信小程序图片加载太慢;uni-app微信小程序加载图片优化;微信小程序图片image加载成功事件@load;图片加载成功触发@load事件
- 手机便签软件哪个好用?哪种手机便签软件好使用
- 【SpringBoot项目No qualifying bean of type ‘×××Mapper‘ available:的错误解决】
- 刷题总结——宠物收养所(bzoj1208)
- 华为机试od社招刷题攻略-目录
- Alfred workflow使用教程持续更新
- Android so库动态加载总结
- 手机浏览器devtools_浏览器DevTools的秘诀:启动,网络和性能
- 手机厂商为什么都开始造电视了?
- 2018.8.10Yukimai模拟Day1