为什么 devc++11 本地编译不过,但是在oj上c++11版本就OK?
dij模板代码小修改,为测试unordered_map用
#include<bits/stdc++.h>
using namespace std;
int dis[3000],n,m,s,z,x,y,w,t;
bool vis[3000];
unordered_map<int,unordered_map<int,int> >g;
int main()
{
cin>>n>>m>>s>>z;
for(int i=1;i<=m;++i)
{
cin>>x>>y>>w;
bool bj=0;
int sz=g[i].size();
if(!g[x][y])
{
g[x][y]=g[y][x]=w;
}
else
g[x][y]=g[y][x]=min(g[x][y],w);
}//输入无向图
for(int i=0;i<=n;++i)
{
dis[i]=10000000;
}
// memset(dis,100000,sizeof(dis));
dis[s]=0;
for(int T=0;T<n;++T)
{
t=-5201314;
if(T==0)t=s;
else
for(int i=1;i<=n;++i)
{
if(!vis[i]&&(t==-5201314||dis[i]<dis[t]&&dis[i]!=0))
{
t=i;
}
}
vis[t]=1;
for(int i=1;i<=n;++i)
{
if(g[t][i])
dis[i]=min(dis[i],dis[t]+g[t][i]);
}
}
cout<<dis[z];
return 0;
}