大连网赛 1009 HDU5876 稠密图的最短路
来源:互联网 发布:一级msoffice模拟软件 编辑:程序博客网 时间:2024/05/16 06:04
#include<cstdio>#include<vector>#include<queue>#include<set>using namespace std;const int maxn=200010;int n,m,s,u,v;int d[maxn];set<int>::iterator it;set<int> t1,t2;vector<int> G[maxn];void bfs(int s){ queue<int> q; t1.clear(),t2.clear(); for(int i=1;i<=n;i++) if(i!=s) t1.insert(i); q.push(s); d[s]=0; while(!q.empty()) { int u=q.front();q.pop(); for(int i=0;i<G[u].size();i++) { int v=G[u][i]; if(!t1.count(v)) continue; t1.erase(v),t2.insert(v); } for(it=t1.begin();it!=t1.end();it++) { q.push(*it); d[*it]=d[u]+1; } t1.swap(t2); t2.clear(); }}int main(){ int t; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(int i=0;i<maxn;i++) G[i].clear(); for(int i=0;i<m;i++) { scanf("%d%d",&u,&v); G[u].push_back(v); G[v].push_back(u); } scanf("%d",&s); bfs(s); int flag=0; for(int i=1;i<=n;i++) { if(i==s) continue; if(flag) printf(" "); flag=1; if(!d[i]) printf("-1"); else printf("%d",d[i]); } puts(""); } return 0;}
0 0
- 大连网赛 1009 HDU5876 稠密图的最短路
- hdu5876 Sparse Graph(补图的最短路)
- HDU5876 Sparse Graph 补图的最短路
- hdu5876 Sparse Graph -补图的最短路-bfs
- hdu5876 Sparse Graph(补图+最短路)
- hdu5876——Sparse Graph(补图的最短路)
- hdu5876(求补图的最短路,set用法)
- Sparse Graph(2016大连网赛)(hdu5876)(BFS+数据结构)
- HDU 2680 有点坑的稠密图最短路(dij各版本)
- 最短路各种算法 稠密图 稀疏图 时间分析
- 最短路各种算法 稠密图 稀疏图 时间分析
- hdu5876 Sparse Graph(最短路)
- hdu5876 Sparse Graph(bfs最短路)
- hdu5876 补图求最短路 2016ACM ICPC 大连网络赛
- HDU5876 补图求最短路 2016ACM ICPC青岛网络赛
- hdu5876 Sparse Graph(补图最短路)
- hdu5876 Sparse Graph(补图上求最短路)
- 图的最短路
- 腾讯2017暑期实习生编程题
- 单片机_I2C通讯协议_基础篇
- Git安装与配置
- Java动态代理一——动态类Proxy的使用
- xamarin android制作圆角边框
- 大连网赛 1009 HDU5876 稠密图的最短路
- Centos 6.4 rpm方式不联网安装gcc、gcc-c++
- 多线程编程1
- Spring多数据源配置
- 多线程编程2
- JavaEE中关于路径问题的总结
- 多线程编程3
- 算法二(贪心算法)
- 多线程编程4