洛谷题解: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 独木桥相关推荐

  1. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

  2. 洛谷题解——P2814 家谱

    题目相关 题目链接 洛谷,https://www.luogu.com.cn/problem/P2814. MYOJ,http://47.110.135.197/problem.php?id=5344. ...

  3. 【洛谷题解】P2433 【深基1-2】小学数学 N 合一

    目录 [深基1-2]小学数学 N 合一 题解 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 题目解析 问题 1~5 问题 6~10 问题 10~14 发牢骚 完整代码 谢谢 ...

  4. 洛谷题解——P1621 集合

    题目相关 题目链接 洛谷,https://www.luogu.com.cn/problem/P1621. MYOJ,http://47.110.135.197/problem.php?id=5342. ...

  5. 洛谷题解——P1873:砍树

    视频讲解可以直接点击这个 B 站链接,https://www.bilibili.com/video/BV1jk4y1k7hq/. 题目相关 题目链接 洛谷,https://www.luogu.com. ...

  6. 洛谷题解——P1024:一元三次方程求解

    视频讲解可以直接点击这个 B 站链接,https://www.bilibili.com/video/BV1qT4y13717/. 题目相关 题目链接 洛谷,https://www.luogu.com. ...

  7. 题解系列009 | 洛谷题解 CF488A 【Giga Tower】

    原题传送门:Giga Tower 一.题意 题目(传送门)给一个绝对值不超过十位的整数,想计算至多加几后会在和数中出现数字 888. 二.分析 看到这道题,我们最容易想到的当然是暴力枚举,但是首先需要 ...

  8. 洛谷【p1007】独木桥

    首先我们先看一下独木桥的题目哈!!! 题目背景 战争已经进入到紧要时间.你是运输小队长,正在率领运输部队向前线运送物资.运输任务像做题一样的无聊.你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上 ...

  9. 【洛谷题解】P2356 弹珠游戏

    本人第一篇题解 今天闲着没事,随机跳题,然后看到这题,觉得运气爆棚,计蒜客L2时空复杂度的课后原题,微改. 首先,这题我们可以知道枚举处理就行,注意点: 1.千万要分清每个数组的用途,不要写错!!本蒟 ...

  10. 洛谷题解 P1713 【麦当劳叔叔的难题】

    这是一道很好的搜索题. 既然是最大时间与最小时间的差,所以可以先用BFS求出最少时间:再用DFS求出最大时间(但注意要剪枝,不然会超时). 话不多说,进入正题. 既然可以有四个方向可以走,那么我们可以 ...

最新文章

  1. python GIL :全局解释器
  2. 【错误记录】Mac 中 IntelliJ IDEA 运行 Python 程序报错 ( “Python“ 因为出现问题而无法打开 )
  3. 批量域更改客户端本地administrator密码
  4. Asp.Net Core--基于角色的授权
  5. 从零写一个编译器(一):输入系统和词法分析
  6. 汉字正字表达式解决方案
  7. 飞行模式的开启和关闭
  8. SQL server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法...
  9. 20 个很棒的 jQuery Mobile 教程
  10. 【追一科技】AAAI、ACL、EMNLP等顶会论文成果分享
  11. 配送中心数据迁移项目(SDC to PDC Data Migartion)
  12. (一)查询出排序中的最大值和最小值
  13. Qt网络编程之获取网络信息
  14. vscode下载安装及中文配置
  15. 地图分幅编号C 语言编程,地图分幅与编号
  16. 若依前端分离版整合mybatis-plus
  17. 韦东山第3期嵌入式Linux项目-视频监控-1-v4l2视频框架分析
  18. excel 如何将带杠的日期转换成不带杠的格式
  19. 魔方自动还原程序3D版本和2D 修正版
  20. Python进阶——循环对象

热门文章

  1. 微信小程序图片加载太慢;uni-app微信小程序加载图片优化;微信小程序图片image加载成功事件@load;图片加载成功触发@load事件
  2. 手机便签软件哪个好用?哪种手机便签软件好使用
  3. 【SpringBoot项目No qualifying bean of type ‘×××Mapper‘ available:的错误解决】
  4. 刷题总结——宠物收养所(bzoj1208)
  5. 华为机试od社招刷题攻略-目录
  6. Alfred workflow使用教程持续更新
  7. Android so库动态加载总结
  8. 手机浏览器devtools_浏览器DevTools的秘诀:启动,网络和性能
  9. 手机厂商为什么都开始造电视了?
  10. 2018.8.10Yukimai模拟Day1