Uva 1025 - A Spy in the Metro(DP)

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

【题意】
       某城市里的地铁是线性的,有n个车站(2<=n<=50),有M1辆列车从第1站从左往右开,有M2辆列车从第n站从右往左开,在0时刻间谍从第一站出发,目的是要在时刻T(0<=T<=200)与另一个人在第n个车站碰头,在车站等车时容易被抓,所以间谍要尽量躲在开动的火车上,从而让他在车站的等待时间尽可能短。停车时间忽略不计,并且认为间谍可以瞬间完成换乘操作。

【输入格式】
       多组输入,第一行为n,第二行为T,第三行有n-1个整数,代表地铁从第i站开到第i+1站所用时间,两个方向上的时间是一样的,第4行是M1,表示第1站出发向右开的火车数目,第五行有M1个整数代表每辆车的出发时间。6,7行同4,5行一样描述的是从右往左开的列车信息。

【输出格式】
       有解时输出最短时间,无解输出”impossible”

【思路】
       把时刻和所处车站看成一种状态,那么假设dp[i][j]表示在时刻i,车站j,间谍的最小等待时间是多少。那么接下来,间谍只能有这样三种活动,(1).原地等待1s,等待时间+1. (2)坐车往左走. (3)坐车往右走,所以dp[i][j]一定是这三种情况的最小值,只需要需处理出每个车站在某个时刻有没有向左开和向右开的火车之后就可以计算递推dp[i][j]了,初始化dp[T][1]~dp[T][n-1]为无穷大,dp[T][n]=0

#include<bits/stdc++.h>
using namespace std;const int inf = 2e9;
const int maxt = 220;
const int maxn = 60;int n, T, cnt, kase = 0;
int t[maxn];
bool hasTrain[maxt][maxn][2];
int dp[maxt][maxn];void d() {for (int i = 0; i <= T; ++i) {for (int j = 1; j <= n; ++j) dp[i][j] = inf;}dp[T][n] = 0;for (int i = T - 1; i >= 0; --i) {for (int j = 1; j <= n; ++j) {dp[i][j] = min(dp[i][j], dp[i + 1][j] + 1);if (j > 1 && hasTrain[i][j][0] && i + t[j - 1] <= T) {dp[i][j] = min(dp[i][j], dp[i + t[j - 1]][j - 1]);}if (j < n && hasTrain[i][j][1] && i + t[j] <= T) {dp[i][j] = min(dp[i][j], dp[i + t[j]][j + 1]);}}}if (dp[0][1] == inf) printf("Case Number %d: impossible\n", ++kase);else printf("Case Number %d: %d\n", ++kase, dp[0][1]);
}int main() {while (scanf("%d", &n) == 1 && n) {scanf("%d", &T);for (int i = 1; i < n; ++i) scanf("%d", &t[i]);memset(hasTrain, 0, sizeof(hasTrain));scanf("%d", &cnt);for (int i = 1; i <= cnt; ++i) {int start;scanf("%d", &start);for (int j = 1; j <= n; ++j) {hasTrain[start][j][1] = true;//1向右start += t[j];if (start >= T) break;}}scanf("%d", &cnt);for (int i = 1; i <= cnt; ++i) {int start;scanf("%d", &start);for (int j = n; j >= 1; --j) {hasTrain[start][j][0] = true;//0向左start += t[j - 1];if (start >= T) break;}}d();}return 0;
}

转载于:https://www.cnblogs.com/wafish/p/10465353.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571066.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

未来计算机控制器趋势,未来DCS控制系统技术发展4大趋势

DCS系统是继PLC之外的一大自动化控制系统&#xff0c;它在化工、火电等领域的应用极为广泛&#xff0c;但是生产方面的自动化技术需求进一步提高&#xff0c;传统的DCS系统已不能满足需要&#xff0c;需要进行技术升级。DCS系统由多台计算机分别控制生产过程中多个控制回路&…

《Java技术》第一次作业

&#xff08;一&#xff09;、学习总结 1.在java中通过Scanner类完成控制台的输入&#xff0c;查阅JDK帮助文档&#xff0c;Scanner类实现基本数据输入的方法是什么&#xff1f;不能只用文字描述&#xff0c;一定要写代码&#xff0c;通过具体实例加以说明。 文本扫描类Scanner…

计算机主机开机为什么显示器不开,电脑开机后显示器不亮怎么办?电脑开机后显示器没反应的解决办法...

电脑开机后显示器不亮怎么办&#xff1f;电脑开机故障屡见不鲜&#xff0c;最近又有用户反馈开机问题了&#xff0c;一用户反馈说&#xff0c;电脑主机是可以正常开机的&#xff0c;但就是显示器不亮&#xff0c;这是怎么回事呢&#xff1f;出现这种情况可能是显示器或主机故障…

斯坦福-随机图模型-week4.0_

title: 斯坦福-随机图模型-week4.0 tags: note notebook: 6- 英文课程-9-Probabilistic Graphical Models 1: Representation --- 斯坦福-随机图模型-week4.0 最大期望收入模型 简答的决策 我们使用随机图模型进行决策需要的原料是什么ne ? 我们需要决策的情景一些列的可能的行…

西北农林科技大学计算机老师 癌症,西北农林科大攻克苹果树“癌症”

由西北农林科技大学主持完成的“苹果树腐烂病等重大病害生物学及防治技术研究”项目&#xff0c;12月12日在陕西杨凌农科城通过鉴定。鉴定委员认为该成果在苹果树腐烂病菌、轮纹病菌的生物学基础研究方面达到了国际领先水平。我国苹果栽培面积和产量分别占世界总量的2/5和1/3&a…

计算机行业哪个会议论文最好,《第三次全国电子计算机专业学术会议论文选集》...

1964年12月&#xff0c;国防工业出版社出版了《第三次全国电子计算机专业学术会议论文选集》(以下简称《选集》)&#xff0c;由中国电子学会计算机专业委员会编辑&#xff0c;《选集》内容覆盖之广令人震惊。《选集》的内容表达了1961年以来国内计算技术在理论与实际方面的工作…

maven运行tomcat6出现错误Exception starting filter encodingFilter怎么解决

严重: Exception starting filter encodingFilterjava.lang.ClassCastException: org.springframework.web.filter.CharacterEncodingFilter cannot be cast to javax.servlet.Filterat org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.j…

windows系统OLLVM + NDK 混淆编译环境搭建

一、环境搭建&#xff1a; 系统&#xff1a;win10_X64 ndk版本&#xff1a;ndk-r12b&#xff08;ndk-r12b后续版本也适用&#xff09; cmake-3.9.1-win64-x64.msi 用于针对不同编译器生成源代码构建文件&#xff0c;如使用VS则生成(.sln)等VS配置文件&#xff0c;如果使用gcc则…

计算机组成实验微程序控制器实验,计算机组成原理实验报告3++微程序控制器实验.doc...

文档介绍&#xff1a;计算机组成原理实验报告3微程序控制器实验计算机组成原理实验报告实验三微程序控制器实验一.实验目的与要求:实验目的:1.理解时序产生器的原理,了解时钟和时序信号的波形;2.掌握微程序控制器的功能,组成知识;3.掌握微指令格式和各字段功能;4.掌握微程序的编…

展开符和解构赋值

一、展开符展开符(剩余操作符)&#xff1a;...1.展开符号use strict; let arr_one [1,3]; let arr_two [4,5,...arr_one]; console.log(arr_one);//[ 1, 3 ] console.log(...arr_one);//1 3 console.log(arr_two);//[ 4, 5, 1, 3 ]2.剩余操作符&#xff08;类似arguments&…

a开头的计算机语言,我们刚开始接触计算机语言大多从Hello world 开始

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼char szClassName[] "MainWnd";HINSTANCE hInstance;int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){HWND hwnd;MSG msg;WNDCLASSEX wincl;hInstance hInst;wincl.cbS…

2.1 linux C 进程与多线程入门--(1)进程和程序的区别

进程和程序的区别: j进程是活动的程序&#xff0c;而程序是一个代码的集合。进程是加载到内存中的程序&#xff0c;而程序没有加载到内存中&#xff0c;只是在磁盘上存储着。 1234567891011121314151617181920212223242526272829303132#include<sys/types.h>#include<…

计算机一级表格样式在哪儿,word表格样式在哪 word表格样式在哪里

word2007中设置好正文样式怎样设置表格样式1. 打开word(以2007为例)【开始】--> 【样式】&#xff0c;打开样式右下角的小箭头&#xff0c;或者alt shift ctrl S&#xff0c;打开全部式样 2. 在全部式样里&#xff0c;选择你要改的类型&#xff0c;点击该类型右边的下拉箭…

day11_用例执行顺序、跳过用例skip用法

用例执行顺序是按照test后面的字母排序进行的&#xff0c;字母靠前先执行&#xff0c;靠后后执行 import unittestclass My(unittest.TestCase): def test_a(self): print(haha) def test_z(self): print(哈哈哈哈)unittest.main() unittest提供了一些跳过…

计算机一级13点,2013年计算机一级考试MsOffice备考题及答案(13)

(11) 在操作系统中&#xff0c;文件管理的主要功能是A、实现文件的虚拟存取B、实现文件的高速存取C、实现文件的按内容存取D、实现文件的按名存取参考答案&#xff1a; D(12) 下列WINDOW 95桌面上图标的叙述中&#xff0c;错误的是A、所有的图标都可以重命名”B、图标可以重新排…

#和##在宏替换中的作用

#include <stdio.h>#define f(a,b) a##b#define g(a) #a#define h(a) g(a)int main(){ printf("%s/n",h(f(1,2))); printf("%s/n",g(f(1,2))); return 0;} 首先需要了解#和##的意义。 # 将右边的参数做整体的字符串替换。 #define g(a) #a 则g…

计算机辅助设计b实验目的,上海电力学院电路计算机辅助设计1--含有受控源电路辅助分析...

上海电力学院电路计算机辅助设计1--含有受控源电路辅助分析实验三&#xff1a;含有受控源电路辅助分析一、实验目的1. 用回路电流法和节点电压法求解电路中的电流和电压。 2. 掌握线性电路参数的测量的方法。3. 了解四种受控源元件(电流控制的电压源、电流控制的电流源、电压控…

云服务器ECS登陆注意点

使用阿里云控制台&#xff1a;远程连接(管理终端) 登陆Linux(CentOS)密码输入不能使用小键盘输入&#xff0c;只能使用键盘最上排的数字键输入。小键盘输入永远登陆不了。远程用ssh密匙登陆时Linux时&#xff0c;需要确认一下几点。/root/目录的权限是否是550&#xff0c;如果不…

计算机基本运行方式,我今天才知道的电脑运行方式,你知道吗?

计算机首先你必须是系统软件和应用软件的相互的结合&#xff0c;才能更好的开发出你电脑的应用平台&#xff0c;那么其实没有了软件系统&#xff0c;光有这些硬件&#xff0c;他能不能工作&#xff0c;其实是不能工作的电脑也就是废物一台。那么软件这些&#xff0c;就是合理的…

计算机修复画笔结果分析,Photoshop

Photoshop基础:使用修复画笔工具修复画笔工具和修补工具&#xff0c;其实都是基于我们前面所说的图章工具的派生工具&#xff0c;并弥补了图章工具的一些不足。那么图章工具有什么不足之处呢&#xff1f;通过前面的学习我们知道了图章工具对图案的复制是原样照搬的&#xff0c;…