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 |
无语了 一直 WA 求助大神 路过的可以给我看一眼有注释,到底哪错了可以发到我邮箱谢谢,#include <iostream> using namespace std; #define maxTime 1000000000 int stockNum; int time[101][101]; int main() { int i,j,k; int contactNum,contact; while(cin>>stockNum&&stockNum!=0) { //initialize the array for(i=1;i<=stockNum;i++) { for(k=1;k<=stockNum;k++) { time[i][k]=maxTime; } } //input the map for(i=1;i<=stockNum;i++) { cin>>contactNum; for(;contactNum>0;contactNum--) { cin>>contact; cin>>time[i][contact]; } } //initialize edge i to i /*for(i=1;i<=stockNum;i++) { time[i][i]=0; }*/ //greedy to floyd for(k=1;k<=stockNum;k++) { for(i=1;i<=stockNum;i++) { if(i!=k) { for(j=1;j<=stockNum;j++) { if(j!=k&&j!=i&& time[i][k]!=maxTime&&time[k][j]!=maxTime&& (time[i][k]+time[k][j])<time[i][j]) { time[i][j]=time[i][k]+time[k][i]; } } } } } //get final answer int finalans=maxTime; int finalpos=0; for(i=1;i<=stockNum;i++) { //find the max time to visit the map from i int currAns=0; for(j=1;j<=stockNum;j++) { if(i!=j&&currAns<time[i][j]) { currAns=time[i][j]; } } //get the min visit time if(finalans>currAns) { finalans=currAns; finalpos=i; } } //output cout<<finalpos<<' '<<finalans<<endl; } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator