0
陈喆鹏
资深光能
资深光能
#include<iostream>
#include<cstring>
using namespace std;
bool vis[510];
int n,m,x,dis[510],g[510][510];
void dijkstra(int s){
memset(vis,-1,sizeof(vis));
memset(dis,0x3f,sizeof(dis));
dis[s]=0;
while(true){
int u=-1;
for(int i=1;i<=n;i++)
if(!vis[i]&&(u==-1||dis[i]<dis[u]))
u=i;
if(u==-1)break;
vis[u]=1;
for(int i=1;i<=n;i++)
if(dis[u]+g[u][i]<dis[i]){
dis[i]=dis[u]+g[u][i];
}
}
}
int main(){
cin>>n>>m>>x;
int u,v,l,c;
for(int i=1;i<=m;i++){
cin>>u>>v>>l>>c;
g[u][v]=g[v][u]=l+x/c;
}
dijkstra(1);
cout<<dis[n];
}
为什么连样例都过不去
0
0
吕若朴
中级光能
中级光能
请认真读一读题,整体的运输量是经过的所有管道的运输量的最小值。总的运输时间是是所有管道的运输时间之和。你这样一条管道一条管道的算时间,能过去才怪
0
张恩昊
资深天翼
资深天翼
0
0
0
0
0