记录编号 | 385937 | 评测结果 | AAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 服务点设置 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.008 s | ||
提交时间 | 2017-03-22 21:06:06 | 内存使用 | 0.35 MiB | ||
#include <fstream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; ifstream fin("djsa.in"); ofstream fout("djsa.out"); const int INF=200000; int W[101][101],D[101],V[101]; int n,m; int R[101]; int djs(int p); int main() { fin>>n>>m; for(int i=0;i<n;++i) { for(int j=0;j<n;++j) { W[i][j]=INF; } } int p1,p2,s; for(int i=0;i<m;++i) { fin>>p1>>p2>>s; W[p1][p2]=s; W[p2][p1]=s; } for(int i=0;i<n;++i) { R[i]=djs(i); } fout<<min_element(R,R+n)-R<<endl; } int djs(int p) { memset(V,0,sizeof(V)); for(int i=0;i<n;++i)D[i]=(i==p?0:INF); for(int i=0;i<n;++i) { int x,m=INF; for(int y=0;y<n;++y)if(!V[y]&&D[y]<=m)m=D[x=y]; V[x]=1; for(int y=0;y<n;++y)D[y]=min(D[y],D[x]+W[x][y]); } int ans=0; for(int i=0;i<n;++i)ans=max(ans,D[i]); return ans; }