P1938 AC#1 其他全WA 附上代码
#include <bits/stdc++.h>
using namespace std;
int d,p,c,f,s,dis[225],mapp[225][225],book[225],n,minn=220005;
void dij(int x)
{
memset(dis,0x3f,sizeof dis);
memset(book,0,sizeof book);
dis[x]=d*c-100;
for(int i=1;i<c;i++)
{
int minn=0x3f3f3f3f,k;
for(int j=1;j<=c;j++)
{
if(dis[j]<minn&&book[j]==0)
{
minn=dis[j];
k=j;
}
}
book[k]=1;
for(int j=1;j<=c;j++)
{
if(dis[j]>dis[k]+mapp[k][j])
{
dis[j]=dis[k]+mapp[k][j]-100;
}
}
}
}
int main()
{
memset(mapp,0x3f,sizeof mapp);
cin>>d>>p>>c>>f>>s;
while(p--)
{
int a,b;
cin>>a>>b;
mapp[a][b]=0;
}
while(f--)
{
int a,b,t;
cin>>a>>b>>t;
mapp[a][b]=t;
}
dij(s);
for(int i=1;i<=c;i++)
{
minn=min(minn,dis[i]);
}
cout<<abs(d*c-minn);
return 0;
}