社区讨论
这题……
P1594护卫队参与者 2已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mi6ldz2f
- 此快照首次捕获于
- 2025/11/20 06:46 4 个月前
- 此快照最后确认于
- 2025/11/20 06:46 4 个月前
……这题也太玄学了吧……
CPP#include<iostream>
#include<cstdio>
#include<climits>
#define verybig 9223372036854775807ll
using namespace std;
struct Car
{
double m,mins;
} car[1001];
long long cm[1001];
double dis[1001][1001],f[1001];
int main()
{
long long ton,bridge,vehicle;
cin>>ton>>bridge>>vehicle;
for(int i=1; i<=vehicle; i++)
{
f[i]=verybig;
int velocity;
cin>>car[i].m>>velocity;
cm[i]=cm[i-1]+car[i].m; //第i辆车到第一辆车的总重量
car[i].mins=60.0*bridge/velocity; //开过桥去需要多长时间
dis[i][i]=car[i].mins;
}
for(int i=1; i<vehicle; i++)
for(int j=i+1; j<=vehicle; j++)
dis[i][j]=max(car[j].mins,dis[i][j-1]); //从车i到车j所用的最大时间
for(int i=1; i<=vehicle; i++)
for(int j=i; j>=1; j--)
if(cm[i]-cm[j-1]<=ton) //不超重
f[i]=min(f[i],f[j-1]+dis[j][i]);
printf("%.1llf",f[vehicle]);
return 0;
}
求各位大佬,是我的问题还是题的问题……为什么连样例的点都不过,全部输出0或-5000???
回复
共 3 条回复,欢迎继续交流。
正在加载回复...