Codeforces Round #346 (Div. 2)E. New Reform 乱搞dfs
来源:互联网 发布:行情分析软件 编辑:程序博客网 时间:2024/05/16 16:16
dfs分成个个区间,每个区间不存在环结果加1.
判断环,1 a,b两点间有两条以上的路。
2.a,b有一条路径,且b此时已走过且b不是搜索这条路时走到a的前一个点
#include<cstdio>#include<cstring>#include<map>#include<algorithm> using namespace std;map<int,int>mp[110000];int next[200000],link[200000],n,m,co[200000],l,last[200000];bool sym[200000],sym2;void init(){ l = 0; memset(next,-1,sizeof(next)); memset(co,0,sizeof(co)); memset(sym,0,sizeof(sym));}void add(int a,int b){ link[l] = b; last[l] = next[a]; next[a] = l; l++;}void dfs(int Last,int pre){ co[pre] = 1; for(int i=next[pre];i!=-1;i = last[i]) { if(!co[link[i]])dfs(pre,link[i]); else if(sym[link[i]]==true)sym2 = true; else if(link[i]!=Last)sym2 = true; }}int main(){ while(scanf("%d%d",&n,&m)!=EOF) { int sum = 0; init(); int a,b; for(int i=0;i<m;i++) { scanf("%d%d",&a,&b); add(a,b); add(b,a); mp[a][b]++; mp[b][a]++; if(mp[a][b]>=2) { sym[a] = true; sym[b] = true; } } for(int i=1;i<=n;i++) if(!co[i]) { sym2 = false; dfs(i,i); if(!sym2)sum++; } printf("%d\n",sum); for(int i=1;i<=n;i++) mp[i].clear(); } return 0;}
0 0
- Codeforces Round #346 (Div. 2)E. New Reform 乱搞dfs
- Codeforces Round #346 (Div. 2) E. New Reform
- Codeforces Round #346 (Div. 2) E. New Reform
- Codeforces Round #346 (Div. 2)-E. New Reform
- Codeforces Round #375 (Div. 2) -- E. One-Way Reform(dfs求欧拉回路)
- Codeforces 659E New Reform【DFS】
- CodeForces 659E New Reform (DFS)
- Codeforces 659E New Reform【思维+Dfs】
- Codeforces Round #346 (Div. 2) E (dfs)
- Codeforces Round #375 (Div. 2)E. One-Way Reform
- Codeforces Round #364 (Div. 2) E DFS
- Codeforces 659E New Reform 【DFS 求环】
- Codeforces Round #346 (Div. 2)(E)dfs
- codeforces 659 E New Reform
- codeforces 659E New Reform
- CodeForces 659E New Reform
- codeforces 659E New Reform
- codeforces 659E New Reform
- 设计模式介绍
- HDU-1016-Prime Ring Problem
- 怎样写出无法维护的代码
- hdu oj题分类
- HTML5中div section article的区别
- Codeforces Round #346 (Div. 2)E. New Reform 乱搞dfs
- WebView
- HDU-1241-Oil Deposits
- Windows批处理(cmd/bat)常用命令小结
- 各种正则表达式验证
- HDU-1312-Red and Black
- 获取SD卡中的音乐文件
- ajax
- 课程练习一Problem M