Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
55456 | xit. | T2 酒店 | C++ | 解答错误 | 0 | 0 MS | 284 KB | 669 | 2022-08-18 11:05:16 |
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll n,m,l,s,t,a[1001][1001]; void d() { for(int i=0; i<n; i++) for(int j=0; j<n; j++) for(int k=0; k<n; k++) a[i][j]=a[j][i]=min(a[i][j],a[i][k]+a[k][j]); } int main() { scanf("%lld%lld%lld%lld%lld",&n,&m,&l,&s,&t); for(int i=0; i<n; i++) for(int j=0; j<n; j++) a[i][j]=(i==j?0:1e9); bool f=0; for(int i=1; i<=m; i++) { ll u,v,w; scanf("%lld%lld%lld",&u,&v,&w); if(w==0) f=1; a[u][v]=a[v][u]=w; } d(); if(a[s][t]>l ||(!f && a[s][t]!=l)) { printf("NO\n"); exit(0); } return 0; }