动态规划--uva1025 城市里的间谍
来源:互联网 发布:孙志刚事件网络舆论 编辑:程序博客网 时间:2024/04/27 13:59
影响决策的因素有当前时间t和所处车站,所以dp[t][n],2维。
求等待最短时间,即dp[t][n]
决策有3个,等待1分钟,向右坐火车,向左坐火车。
#include <iostream>
#include <cstdio>
#include <cstring>
using namespacestd;
const int maxn =255;
const int INF =1 <<25;
int dis[55];
int d[maxn],e[maxn];
bool has_train[maxn][55][2];
int dp[maxn][55];
int n,t,m1,m2;
void f()
{
for (int i =1; i <=n -1; i ++) {
dp[t][i] =INF;
}
dp[t][n] =0;
for (int i =t -1; i >=0; i --) {
for (int j =1; j <=n; j ++) {
dp[i][j] =dp[i +1][j] +1;
if(j <n &&has_train[i][j][0] && i +dis[j] <=t)
{
dp[i][j] =min(dp[i][j],dp[i +dis[j]][j + 1]);
}
if(j >1 &&has_train[i][j][1] && i +dis[j -1] <=t)
{
dp[i][j] =min(dp[i][j],dp[i +dis[j - 1]][j -1]);
}
}
}
}
int main()
{
int kce =0;
while (cin >>n &&n) {
memset(dis,0,sizeof(dis));
memset(has_train,0,sizeof(has_train));
memset(d,0,sizeof(d));
memset(e,0,sizeof(e));
memset(dp,0,sizeof(dp));
cin >>t;
for (int i =1; i <=n -1; i ++) {
scanf("%d",&dis[i]);
}
cin >>m1;
for (int i =1; i <=m1; i ++) {
scanf("%d",&d[i]);
}
cin >>m2;
for (int i =1; i <=m2; i ++) {
scanf("%d",&e[i]);
}
for (int i =1; i <=m1; i ++) {
int tmp =d[i];
for (int j =1; j <n; j ++) {
has_train[tmp][j][0] =true;
// cout << "when time " << tmp<< " at station " << j <<" has train to right" << endl;
tmp += dis[j];
}
}
for (int i =1; i <=m2; i ++) {
int tmp =e[i];
for (int j =n; j >1; j --) {
has_train[tmp][j][1] =true;
// cout << "when time " << tmp<< " at station " << j <<" has train to left" << endl;
tmp += dis[j -1];
}
}
f();
cout <<"Case Number " << ++kce <<": " ;
if (dp[0][1] >= INF) {
cout <<"impossible\n";
}
elsecout <<dp[0][1] <<endl;
}
return0;
}
- 动态规划--uva1025 城市里的间谍
- [UVA1025]城市里的间谍
- 【动态规划】[UVA1025]A Spy in the Metro 城市里的间谍
- 动态规划--城市里的间谍
- 例题9-1 城市里的间谍 UVa1025
- 动态规划(城市里的间谍,uva 1025)
- A SPY in the Metro(城市里的间谍),UVA1025【dp】
- 例题9-1 城市里的间谍(A Spy in the Metro, ACM/ICPC World Finals 2003, UVa1025)
- 动态规划——地铁里的间谍
- UVA 1025 城市里的间谍
- uva1025 动态规划
- UVa 1025 例题9-1 城市里的间谍
- 城市里的间谍,紫书P267UVa1025(GVA上的DP)
- UVA 1025 A Spy in the Metro(城市里的间谍)
- 例题9-1 UVA - 1025 A Spy in the Metro 城市里的间谍(DP)
- 算法竞赛入门经典第九章例题9-1 uva 1025 城市里的间谍
- UVA 1025 A Spy in the Metro 城市里的间谍(DP)
- UVA 1025 A Spy in the Metro城市里的间谍(dp)
- 《大型数据库作业5》ORACLE安全管理
- POJ 2229 Sumsets
- python3 利用当前时间、随机数产生一个唯一的数字作为文件名
- Python程序执行过程的整合解读
- unity连接SqlServer
- 动态规划--uva1025 城市里的间谍
- [CEPH部署]使用ceph-deploy快速部署ceph集群
- ARM Linux 3.x的设备树(Device Tree)
- Flume tailDir合并异常行处理
- Convert BST to Greater Tree
- 设置数据库中表的关系图
- 解决python查询报%d format: a number is required, not str问题
- 《Ray Tracing in One Weekend》——Chapter 9: Dielectrics
- Http请求中Content-Type讲解以及在Spring MVC中的应用