Least Crucial Node UVALive - 7456 【】
2017-08-23 11:44
836 查看
题目要求:求联通图 序号最小的最大割点。
解决方案: 枚举每一个点(除了起点),每一次从头开始搜。
比较出 去掉哪个点 时 能连的最少
一些新stl 知识点
bitset :
百度百科
auto
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <vector>
#include <bitset>
#define ms(x) memset(x,0,sizeof(x))
using namespace std;
const int maxn = 110;
int n, m, sink;
vector<int> g[maxn];
bitset<maxn> vis;
void dfs(int cur)
{
vis[cur] = true;
for(auto i:g[cur])
{
if(!vis[i])
dfs(i);
}
}
int main()
{
while( scanf("%d",&n)&&n )
{
for(int i=1;i<=n;i++)
{
g[i].clear();
}
cin>>sink>>m;
for(int i=0;i<m;i++)
{
int u,v;
cin>>u>>v;
g[u].push_back(v);
g[v].push_back(u);
}
int ans = -1;
int cnt = n+1;
for(int i=1;i<=n;i++)
{
if(i == sink) continue;
vis.reset();
vis[i] = true;
dfs(sink);
int sum = vis.count();
if( sum == n) continue;
if(cnt > sum)
{
ans = i;
cnt = sum;
}
}
cout<<ans<<endl;
}
return 0;
}
相关文章推荐
- UVALive 7456 Least Crucial Node
- 【割点 && dfs】UVALive - 7456 Least Crucial Node
- UVALive 7456 Least Crucial Node (并查集)
- UVALive Problem 7456 Least Crucial Node——Regionals 2015 :: Asia - Taipei
- UVaLive 7456 Least Crucial Node (并查集+暴力 或者 求割点)
- LA 7456 Least Crucial Node
- Regionals 2015 :: Asia - Taipei C - Least Crucial Node 割点应用
- [UVALive 6955 Finding Lines]概率+随机算法
- UVaLive 7359 Sum Kind Of Problem (数学,水题)
- uvalive 4031 - Integer Transmission
- UVALive 6426
- UVALive - 2322 Wooden Sticks
- UVALive - 3135 - Argus (优先队列!!)
- UVALive 7147
- UVAlive - 4794—— Sharing Chocolate
- Collision UVALive - 6613 (数学几何)
- 【UVALive4685-Succession】树形DP
- 【UVALive】5135 Mining Your Own Business 点双连通+割顶
- UVALive 6832 Bit String Reordering
- UVALive 4811 Growing Strings【AC自动机+简单dp】