| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
两次DJ,㞎下标竟然打反了嚷昂一次。。。(这题要2000ms干啥?)#include <iostream>
#include <stdio.h>
using namespace std;
int adjQuList[1010][1010];
int adjQuDist[1010][1010];
int adjQuNum[1010] = {0};
int adjFeiList[1010][1010];
int adjFeiDist[1010][1010];
int adjFeiNum[1010] = {0};
int main() {
int N, M, X;
scanf("%d%d%d", &N, &M, &X);
for(int i = 0; i < M; i++){
int from, to, dist;
scanf("%d%d%d", &from, &to, &dist);
adjQuList[from][adjQuNum[from]] = to;
adjQuDist[from][adjQuNum[from]] = dist;
adjQuNum[from]++;
adjFeiList[to][adjFeiNum[to]] = from;
adjFeiDist[to][adjFeiNum[to]] = dist;
adjFeiNum[to]++;
}
int quDist[1010], feiDist[1010];
for(int i = 1; i <= N; i++){
quDist[i] = 1000000000;
}
for(int j = 1; j <= N; j++){
feiDist[j] = 1000000000;
}
quDist[X] = feiDist[X] = 0;
bool quUsed[1010] = {0}, feiUsed[1010] = {0};
for(int i = 1; i <= N; i++){
int mn = 2147483647, arg = -1;
for(int j = 1; j <= N; j++){
if(quUsed[j]) continue;
if(quDist[j] < mn){
mn = quDist[j];
arg = j;
}
}
quUsed[arg] = 1;
for(int j = 0; j < adjQuNum[arg]; j++){
if(quUsed[adjQuList[arg][j]]) continue;
int newDist = quDist[arg] + adjQuDist[arg][j];
if(newDist < quDist[adjQuList[arg][j]]){
quDist[adjQuList[arg][j]] = newDist;
}
}
}
for(int i = 1; i <= N; i++){
int mn = 2147483647, arg = -1;
for(int j = 1; j <= N; j++){
if(feiUsed[j]) continue;
if(feiDist[j] < mn){
mn = feiDist[j];
arg = j;
}
}
feiUsed[arg] = 1;
for(int j = 0; j < adjFeiNum[arg]; j++){
if(feiUsed[adjFeiList[arg][j]]) continue;
int newDist = feiDist[arg] + adjFeiDist[arg][j];
if(newDist < feiDist[adjFeiList[arg][j]]){
feiDist[adjFeiList[arg][j]] = newDist;
}
}
}
int mx = 0;
for(int i = 1; i <= N; i++){
int tmp = quDist[i] + feiDist[i];
if(tmp > mx) mx = tmp;
}
printf("%d\n", mx);
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator