PKU 2387 Til the Cows Come Home

http://poj.org/problem?id=2387
無向グラフ上の最短距離を求める問題。
ダイクストラ書く練習?

TLEも気にしなくていいようなので、のんびりと書いてサクっと通せばいいんじゃないでしょうか?

const int MAX=1000;
vector<PI> G[MAX];
bool vis[MAX];
int n;

main(){
  int t;
  cin>>t>>n;
  while(t--){
    int a,b,c;
    cin>>a>>b>>c;
    --a,--b;
    G[a].pb(mp(b,c));
    G[b].pb(mp(a,c));
  }

  priority_queue<PI> Q;
  Q.push(mp(0,0));
  while(!Q.empty()){
    int v=Q.top().S,cc=-Q.top().F;Q.pop();
    if(vis[v])continue;
    vis[v]=true;
    if(v==n-1){
      cout<<cc<<endl;
      return 0;
    }
    rep(i,G[v].size()){
      if(vis[G[v][i].F])continue;
      Q.push(mp(-cc-G[v][i].S,G[v][i].F));
    }
  }
}