记录编号 | 382798 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | Geodetic 集合 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.009 s | ||
提交时间 | 2017-03-14 19:01:57 | 内存使用 | 0.30 MiB | ||
#include<cstdio> #include<cstring> int dis[55][55]; int main(){ freopen("geo.in","r",stdin); freopen("geo.out","w",stdout); int n,m; scanf("%d %d",&n,&m); memset(dis,63,sizeof(dis)); int a,b; for(int i=1;i<=n;++i)dis[i][i]=0; while(m--){ scanf("%d%d",&a,&b); dis[a][b]=dis[b][a]=1; } for(int k=1;k<=n;++k) for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) if(dis[i][k]+dis[k][j]<dis[i][j])dis[j][i]=dis[i][j]=dis[i][k]+dis[k][j]; scanf("%d",&m); while(m--){ scanf("%d %d",&a,&b); for(int i=1;i<=n;++i){ if(dis[a][i]+dis[i][b]==dis[a][b])printf("%d ",i); } printf("\n"); } return 0; }