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 |
根本就没看题乱搞In Reply To:过了的高手帮忙看看为什么WA!!!应该不难的,可是就是WA,高手们指点一下,谢谢了!!! Posted by:jinmingyan at 2005-09-18 13:43:29 > #include <iostream> > using namespace std; > > int map[501][501]; > int fire[100]; > int n,m; > > void Floyd() // 求出全源最短路径; > { > for(int i=1;i<=n;i++) > for(int j=1;j<=n;j++) > for(int k=1;k<=n;k++) > if( (map[j][i]+map[i][k]<map[j][k]||map[j][k]==-1) && map[j][i]!=-1 && map[i][k]!=-1 && j!=k ) > map[j][k] = map[j][i] + map[i][k]; > } > > int main() > { > bool arrived[501]; > while(cin>>m>>n) > { > memset(arrived,false,sizeof(arrived)); > for(int i=0;i<m;i++) // 读入救火站 > { > cin>>fire[i]; > arrived[fire[i]] = true; > } > > for(int i=0;i<=n;i++) // 初始化地图 > { > for(int j=0;j<=n;j++) > map[i][j] = -1; > } > > int t1,t2,t3; > for(int i=0;i<n;i++) // 读入地图 > { > cin>>t1>>t2>>t3; > map[t1][t2] = t3; > map[t2][t1] = t3; > } > > Floyd(); // 求出全源最短路径; > /* > for(int i=1;i<=n;i++) > { > for(int j=1;j<=n;j++) > cout<<map[i][j]<<" "; > cout<<endl; > } > */ > int result[501]; > int all = 0; > for(int i=1;i<=n;i++) // 求出现有的各点到救火站最短距 > { > int sum = 999999; > for(int j=0;j<m;j++) > { > if(i==fire[j]) > { > sum = 0; > break; > } > if(sum>map[i][fire[j]]) sum = map[i][fire[j]]; > } > result[i] = sum; > all = all + sum; > } > /* > cout<<all<<endl; > for(int i=1;i<=n;i++) cout<<result[i]<<" "; > cout<<endl; > */ > int maxn = 999999; > int res; > for(int i=1;i<=n;i++) // 一个一个枚举 > { > if(arrived[i]==true) continue; > int temp = all; > int sum = 999999; > for(int j=1;j<=n;j++) > { > if(i==j) temp = temp - result[i]; > else if(map[j][i]<result[j]) temp = temp - result[j] + map[j][i]; > } > //cout<<i<<" "<<temp<<endl; > if(temp<maxn) > { > maxn = temp; > res = i; > } > } > //cout<<maxn<<endl; > cout<<res<<endl; > } > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator