但是第五个点答案错,求原因
测试点五:
测试结果错误.错误结果为:251224144346
escape
正确结果应为:160132265414
escape
另附代码:
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<vector>
using namespace std;
long long dis[120001],c,d,t;
long long n,m,a,b,vis[120001],s;
priority_queue< pair<long long,long long> > q1;
vector<pair<long long,long long> >ad1[120001];
void dijs(int be)
{
for (int i=1;i<=n;i++)
{
dis[i]=-10;
vis[i]=0;
}dis[be]=0;
q1.push(make_pair(0,be));
while (!q1.empty())
{
c=-q1.top().first;
a=q1.top().second;
q1.pop();
for (int i=0;i<ad1[a].size();i++)
{
b=ad1[a][i].second;
d=c+ad1[a][i].first;
if(d<dis[b]||dis[b]<0){dis[b]=d;q1.push(make_pair(-d,b));}
}
}
}
int main()
{
ios::sync_with_stdio(0);
cin>>n>>m>>t;
for (int i=1;i<=m;i++)
{
cin>>a>>b>>c;
ad1[a].push_back(make_pair(c,b));
ad1[b].push_back(make_pair(c,a));
}
dijs(1);
for (int i=2;i<=n;i++)
{
s=s+dis[i]*2;
}
cout<<s<<endl;
if(s>t)cout<<"escape"<<endl;
else cout<<"run"<<endl;
return 0;
}
第五个点错了
测试结果错误.错误结果为:251224144346
escape
正确结果应为:160132265414
escape
cheat 吧