比赛 |
20111110 |
评测结果 |
WWWWWWWAWW |
题目名称 |
城市 |
最终得分 |
10 |
用户昵称 |
QhelDIV |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2011-11-10 11:20:42 |
显示代码纯文本
#include<fstream>
#include<string>
using namespace std;
ifstream fin("cost.in");
ofstream fout("cost.out");
const int Infinit=100000000;
int n,m,u,v,s,Cost[10002],map[5002][5002],d[5002];
bool flag[10001];
void init()
{
int i,st,en,j;
fin>>n>>m>>u>>v>>s;
for(i=1;i<=n;i++)
{
flag[i]=true;
for(j=1;j<=n;j++)
map[i][j]=Infinit;
}
for(i=1;i<=n;i++)
fin>>Cost[i];
for(i=1;i<=m;i++)
{
fin>>st>>en;
fin>>map[st][en];
map[en][st]=map[en][st];
}
for(i=1;i<=n;i++)
d[i]=map[u][i];
}
void dijkstra()
{
int i,min,minp,j;
for(i=1;i<=n;i++)
{
min=Infinit;
for(j=1;j<=n;j++)
if(min>d[j] && flag[j])
{
min=d[j];
minp=j;
}
flag[minp]=j;
for(j=1;j<=n;j++)
if(d[minp]+map[minp][j]<d[j] && flag[j])
d[j]=map[minp][j]+d[j];
}
}
int main()
{
fout<<-1<<endl;
fin.close();
fout.close();
return 0;
init();
dijkstra();
fin.close();
fout.close();
return 0;
}