记录编号 | 455330 | 评测结果 | AAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 双服务点设置 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.000 s | ||
提交时间 | 2017-10-01 19:49:51 | 内存使用 | 0.00 MiB | ||
#include<cstdio> #include<cctype> #define loop(i,j,k) for(int i=j;i<=k;++i) #define smin(a,b) a<b?a:b #define smax(a,b) a>b?a:b using namespace std; inline void in(int &x){ x=0;int f=1;char c=getchar(); while(!isdigit(c)){if(!(c-'-'))f=-1;c=getchar();} while(isdigit(c))x=(x<<1)+(x<<3)+(c^48),c=getchar(); x*=f; } inline int out(int x){ if(!x) return putchar('0'),0; if(x<0) x=~x+1,putchar('-'); char c[30]={0}; while(x) c[++c[0]]=x%10+48,x/=10; while(c[0]) putchar(c[c[0]--]); } const int inf=0x7effffff; int n,m,u,v,w,g[101][101]; int l1=inf,l2,l3,a1,a2; inline void floyd(){ loop(k,0,n-1)loop(i,0,n-1)loop(j,0,n-1)if(i-j&&j-k&&i-k&&g[i][k]-inf&&g[k][j]-inf) g[i][j]=smin(g[i][j],g[i][k]+g[k][j]); } inline int koto(){ freopen("djsb.in","r",stdin); freopen("djsb.out","w",stdout); in(n),in(m); loop(i,0,n-1)loop(j,0,n-1)if(i-j)g[i][j]=inf; loop(i,1,m) in(u),in(v),in(w),g[u][v]=g[v][u]=w; floyd(); loop(i,0,n-2)loop(j,i+1,n-1){ l2=0; loop(k,0,n-1)if(k-i&&k-j){ l3=smin(g[i][k],g[j][k]); l2=smax(l2,l3); } if(l2<l1) a1=i,a2=j,l1=l2; } out(a1),putchar(' '),out(a2); } int zero=koto(); int main(){;}