题目链接:[POI2008]CLO-Toll


显然对于一个联通块,存在环,那么就有解,否则无解。

所以无解:联通块为一棵树。

否则,我们随便建立一个dfs树,然后碰到返祖边的时候,往上到根,反边更新即可。


AC代码:

#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
//#define int long long
using namespace std;
const int N=1e5+10;
int n,m,vis[N],res[N],ok,f[N];
vector<int> g[N];
inline void add(int a,int b){g[a].push_back(b),g[b].push_back(a);}
void dfs(int x,int fa){vis[x]=1;   f[x]=fa;for(auto to:g[x])  if(to!=fa){if(vis[to]){if(!ok){ok=1;  int t=x;   res[t]=to;while(t!=f[t])  res[f[t]]=t,t=f[t];}}else res[to]=x,dfs(to,x);}
}
signed main(){cin>>n>>m;for(int i=1,a,b;i<=m;i++)    scanf("%d %d",&a,&b),add(a,b);for(int i=1;i<=n;i++)    if(!vis[i]){ok=0;  dfs(i,i);if(!ok)    return puts("NIE"),0;}puts("TAK");for(int i=1;i<=n;i++)  printf("%d\n",res[i]);return 0;
}

[POI2008]CLO-Toll相关推荐

  1. bzoj 1116: [POI2008]CLO(并查集)

    1116: [POI2008]CLO Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1180  Solved: 649 [Submit][Statu ...

  2. 1116: [POI2008]CLO

    1116: [POI2008]CLO https://lydsy.com/JudgeOnline/problem.php?id=1116 分析: 单独考虑每个联通块的情况. 设这个联通块里有n个点,那 ...

  3. bzoj1116[POI2008]CLO*

    bzoj1116[POI2008]CLO 题意: n点m边双向图,问能否将一些边变成单向使得每个点只有一个入度.n≤100000,m≤200000. 题解: 结论:当图中每个点都与至少一个环相连时满足 ...

  4. [POI2008]CLO

    题面 <center>2026: [POI2008]CLO<center> <center>时间限制:10秒 内存限制:162MB<center> 题目 ...

  5. BZOJ 1116 POI2008 CLO

    1116: [POI2008]CLO Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1152  Solved: 635 [Submit][Statu ...

  6. BZOJ 1116: [POI2008]CLO

    题意:Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 你要把其中一些road变成单向边使得:每个town都有且只有一 ...

  7. bzoj1116 [POI2008]CLO

    题目链接 画画图发现如果某一个连通块中没有环那么就不可能存在方案 所以直接并查集维护一个连通块中有没有环 1 #include<algorithm> 2 #include<iostr ...

  8. bzoj1116: [POI2008]CLO

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1116 题目大意:Byteotia城市有n个 towns m条双向roads. 每条 road ...

  9. BZOJ 1116 [POI2008]CLO 并查集

    题意:链接 方法:并查集 解析: 第一眼神题,看完hz题解后发现被D了. 明明sb题. 如果某个连通块里存在环那么一定会达到目标状态. 为什么? 自己YY:) 所以并查集合并就行了. 代码: #inc ...

  10. BZOJ1116:[POI2008]CLO(并查集)

    Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 你要把其中一些road变成单向边使得:每个t ...

最新文章

  1. Java中stringBuilder
  2. java中用于选择按钮的语句_java程序员考试套题1
  3. 前置机上如何地址转换_canvas原生层级较高,遮盖自定义tabbar,转换为图片解决...
  4. php概率计算_php 抽奖概率算法
  5. jest java_✅使用jest进行测试驱动开发
  6. 如何计算并测量ABAP及Java代码的环复杂度Cyclomatic complexity
  7. 【开发软件】推荐一款MAC OS X 下php集成开发环境mamp
  8. c# 替换html注释,C# 替换div标签
  9. 计组之指令系统:1、指令系统概述(定义、分类、格式、扩展操作码指令格式)
  10. unicode 转换
  11. 解决EasyDSS、EasyNVR流媒体RTMP、HLS(m3u8)、HTTP-FLV播放提示H5播放错误的问题
  12. 决策树算法小结(三) CART原理及代码实现
  13. 人体静止存在雷达探测,雷达感应模组技术,物联网智能化发展
  14. 戴尔服务器显示器接口类型,拒绝凌乱桌面 Type-C接口显示器的魅力
  15. 安装office相关组件出现错误1310
  16. 2016年个人总结报告PPT(刘欣)
  17. gst-launch命令转换为C代码(gstreamer框架)
  18. 链家网页爬虫_爬虫-链家网租金数据
  19. 未知USB设备 端口重置失败
  20. Python爬虫实战之二:requests-爬取亚马逊商品详情页面

热门文章

  1. 【Web】CSS3动画效果制作
  2. [何以解忧唯有颓废]老舒
  3. 十种燃烧卡路里减肥运动方法
  4. 来一次双色球的投注吧
  5. UDA_TP阅读笔记
  6. 郑莉老师c++第五版 复习笔记
  7. 一不小心把手机格式化了,应该怎么办?
  8. grread使用例子 lisp_AutoLISP从入门到精通初级教程(新手必备);
  9. Java集合体系总结
  10. MySQL亿级数据分页的奇妙经历