公路巡逻
Description
在一条没有分岔的高速公路上有n个关口,相邻两个关口之间的距离都是10km。所有车辆在这条高速公路上的最低速度为60km/h,最高速度为120km/h,并且只能在关口处改变速度。
巡逻的方式是在某个时刻Ti从第ni个关口派出一辆巡逻车匀速驶抵第(ni+1)个关口,路上耗费的时间为ti秒。
两辆车相遇是指它们之间发生超车或者两车同时到达某关口(同时出发不算相遇)。
巡逻部门想知道一辆于6点整从第1个关口出发去第n个关口的车(称为目标车)最少会与多少辆巡逻车相遇,请编程计算之。假设所有车辆到达关口的时刻都是整秒。
Input
输入第一行为两个用空格隔开的整数,分别为关口数n和巡逻车数m。(1<=ni<=Ti<=23:00:00,300<=ti<=600)
Output
输出文件第一行为目标车与巡逻车相遇次数。第二行为目标车与巡逻车相遇次数最少时最早到达第n个关口的时刻(格式同输入中的Ti)。
Sample
Input
3 2
1 060000 301
2 060300 600
Sample
Output
0
061301
题意: 你的车从6点整开始出发, 从1关口到n关口, 每次改变速度只可以在关口处(60km/h<=v<=120km/h),
解题思路:
代码:
#include
<cstdio>
#include <iostream>
#include <cstring>
using namespace std;
#define MAX 305
#define MAXSIZE 52
const int INF = (1<<29);
struct node
{
}car[MAX][MAX];
int n, m;
int dp[MAXSIZE][MAXSIZE*600];
int num[MAX];
inline int change(int time)
{
}
inline int changeBack(int time)
{
}
inline int min(int a, int b)
{
}
void DP()
{
}
int main()
{
//
}
这是一个关于计算在特定条件下,从第一个关口出发的目标车辆与巡逻车最少相遇次数的问题。题目描述了巡逻车从不同关口出发的时间和到达下一个关口的时间,以及车辆的速度范围。通过动态规划方法,可以求解目标车辆在最少相遇次数下最早到达最后一个关口的时间。

1060

被折叠的 条评论
为什么被折叠?



