题意:

  有点长→CF547DMike and Fish。

分析:

  其实也没什么好分析的,我这也是看的题解。

  (不过,那篇题解好像文字的代码不太对劲)

  这里直接说做法,正确性自证:

  对输入的,将横、纵坐标相等的点分别两两连边,之后只需要dfs跑一个染色,使得一条边两个端点颜色都不一样即可,这样就可以确定每一个点放红色还是蓝色,输出即可。(至于哪个是红哪个是蓝不重要,有spj)

代码:

 #include<bits/stdc++.h>
using namespace std;
const int N=;int n,m;
struct node{int y,nxt;}e[*N];
int h[N],c=,vis[N],ans[N][];
void add(int x,int y){
e[++c]=(node){y,h[x]};h[x]=c;
e[++c]=(node){x,h[y]};h[y]=c;
} void dfs(int x,int y){
if(vis[x]) return ;vis[x]=y;
for(int i=h[x];i;i=e[i].nxt)
dfs(e[i].y,^y);
} int main(){
scanf("%d",&n);
for(int i=,x,y;i<=n;i++){
scanf("%d%d",&x,&y);
if(ans[x][])
add(ans[x][],i),ans[x][]=;
else ans[x][]=i;
if(ans[y][])
add(ans[y][],i),ans[y][]=;
else ans[y][]=i;
} for(int i=;i<=n;i++){
dfs(i,);
if(vis[i]) putchar('r');
else putchar('b');
} return ;
}

染色

最新文章

  1. Windows 打印控件
  2. AC日记——机器翻译 洛谷 P1540
  3. debian linux 下安装 netbeans(php)
  4. java web 之 web.xml篇
  5. 在rdlc 中 显示成 yyyy年MM月dd日
  6. 九度OJ 1107 搬水果 -- 哈夫曼树 2011年吉林大学计算机研究生机试真题
  7. C++之构造函数重载
  8. VS2015编译GEOS的debug和release版本
  9. Monkey测试结果分析
  10. python之psutil模块详解(Linux)--小白博客
  11. 基于netty实现单聊、群聊功能
  12. (笔记)一场由SD卡引发的灾难
  13. 11g新特性-自动sql调优(Automatic SQL Tuning)
  14. 开启swap交换分区
  15. hdu 2065(泰勒展式)
  16. 90. 子集 II
  17. Oracle 11G 隐含参数“_controlfile_autobackup_delay”
  18. Android开发-eclipse+phonegap(Cordova)环境搭建
  19. git远程代码库回滚(webstorm下)
  20. mysql的explain用法

热门文章

  1. su和sudo命令的用法
  2. iOS中UIWebView使用JS交互
  3. eclipse svn 相关
  4. 掌握MySQL数据库这些优化技巧,事半功倍!
  5. eclipse添加tomcat运行环境
  6. JS创建函数的方法
  7. IE_Script70:没有权限问题处理
  8. 配置Gradle构建
  9. Java方式配置Spring
  10. MVC ef 连接数据库