题目:P3496 [POI2010]GIL-Guilds

搜索 - 染色 - bfs - dfs

仔细观察题目发现,根本不需要给任何点染成灰色。因为题目对周围点的要求是至少,所以要是一个灰点可以放的地方,黑白点也都可以放。条件还少,何乐而不为?

对于一个图,若其中最小的连通块大小大于111,就一定有一种合法方案:在遍历时黑白交替地染,保证周围异色的点至少有一个,多了没关系
若有连通块大小唯一,也就是那个点没有连边,就直接输出NIE

#include<cstdio>
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
const int Maxn=200000+20,inf=0x3f3f3f3f;
bool flag[Maxn],vis[Maxn];
vector <int> e[Maxn];
int n,m;
inline int read()
{int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0' && ch<='9')s=(s<<3)+(s<<1)+(ch^48),ch=getchar();return s*w;
}
void dfs(int x,bool cur) // 这里使用dfs染色,相对于bfs代码少一些,状态也好储存
{vis[x]=1,flag[x]=cur;for(int i=0;i<e[x].size();++i){int y=e[x][i];if(vis[y])continue;dfs(y,cur^1);}
}
int main()
{//  freopen("in.txt","r",stdin);n=read(),m=read();for(int i=1;i<=m;++i){int x=read(),y=read();vis[x]=vis[y]=1; // 若有连边就标记e[x].push_back(y);e[y].push_back(x);}for(int i=1;i<=n;++i)if(!vis[i]){puts("NIE");return 0;}memset(vis,0,sizeof(vis));for(int i=1;i<=n;++i)if(!vis[i])dfs(i,0);puts("TAK");for(int i=1;i<=n;++i){if(flag[i])puts("K");else puts("S");}return 0;
}

洛谷 P3496 [POI2010]GIL-Guilds 题解相关推荐

  1. 洛谷P1129 [ZJOI2007] 矩阵游戏 题解

    洛谷P1129 [ZJOI2007] 矩阵游戏 题解 题目链接:P1129 [ZJOI2007] 矩阵游戏 题意:给定一张有黑白棋子的正方形棋盘,问存不存在解法使得经过若干次交换行或列的操作后,左上角 ...

  2. 洛谷P3336 [ZJOI2013]话旧 题解

    洛谷P3336 [ZJOI2013]话旧 题解 题目链接:P3336 [ZJOI2013]话旧 题意:小林跟着银河队选手去了一趟宇宙比赛,耳濡目染,变得学术起来.回来后,他发现世界大变样了.比丘兽究级 ...

  3. 洛谷P4683 [IOI2008] Type Printer 题解

    洛谷P4683 [IOI2008] Type Printer 题解 题目链接:P4683 [IOI2008] Type Printer 题意: 你需要利用一台可移动的打印机打印出NNN个单词.这种可移 ...

  4. 洛谷P3647 [APIO2014] 连珠线 题解

    洛谷P3647 [APIO2014] 连珠线 题解 题目链接:P3647 [APIO2014] 连珠线 题意: 在达芬奇时代,有一个流行的儿童游戏称为连珠线.当然,这个游戏是关于珠子和线的.线是红色或 ...

  5. 洛谷P4170 [CQOI2007]涂色 题解

    洛谷P4170 [CQOI2007]涂色 题解 题目链接:P4170 [CQOI2007]涂色 题意: 假设你有一条长度为 555 的木板,初始时没有涂过任何颜色.你希望把它的 555 个单位长度分别 ...

  6. 洛谷P1868 饥饿的奶牛 题解

    洛谷P1868 饥饿的奶牛 题解 题目链接:P1868 饥饿的奶牛 题意: 有一条奶牛冲出了围栏,来到了一处圣地(对于奶牛来说),上面用牛语写着一段文字. 现用汉语翻译为: 有 NNN 个区间,每个区 ...

  7. 洛谷P1462 通往奥格瑞玛的道路 题解

    洛谷P1462 通往奥格瑞玛的道路 题解 题目链接:P1462 通往奥格瑞玛的道路 题意:在艾泽拉斯,有 nnn 个城市.编号为 1,2,3,-,n1,2,3,\ldots,n1,2,3,-,n . ...

  8. 洛谷 P2015 二叉苹果树 题解

    洛谷 P2015 二叉苹果树 题解 洛谷 P2015 题目 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有NNN个结点(叶子点或者树枝分叉点),编号为1-NNN ...

  9. 洛谷P3879 [TJOI2010] 阅读理解 题解

    洛谷P3879 [TJOI2010] 阅读理解 题解 题目链接:P3879 [TJOI2010] 阅读理解 题意: 英语老师留了 NNN 篇阅读理解作业,但是每篇英文短文都有很多生词需要查字典,为了节 ...

  10. 洛谷P4113 [HEOI2012]采花 题解

    洛谷P4113 [HEOI2012]采花 题解 题目链接:P4113 [HEOI2012]采花 题意:萧薰儿是古国的公主,平时的一大爱好是采花. 今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园 ...

最新文章

  1. c++ 回调函数_Java中的回调机制,这篇给你整的明明白白的
  2. Matlab调用Java类访问数据库
  3. C/C++ 数据类型
  4. NSIS打包软件(一)
  5. linux php自动执行_linux下实现定时执行php脚本
  6. asp.net core系列 40 Web 应用MVC 介绍与详细示例
  7. Linux内核深入理解中断和异常(2):初步中断处理-中断加载
  8. Spring Boot学习总结(8)——SpringBoot Common application properties(application.properties)详解
  9. Tomcat错误解决
  10. c语言报刊杂志订阅系统,中国报刊杂志大全_报刊大全_报刊杂志订阅
  11. 计算机科目三教学设计,驾校科目三教案
  12. python大数据工程师招聘_大数据工程师是做什么的为什么招聘网上薪资都好高啊?...
  13. Android实现头像上传至数据库与保存 简易新闻(十七 上)
  14. HTTPS证书文件格式转换
  15. php正则表达式后向引用和贪婪模式
  16. 1024程序员节 技术对抗赛 算法与安全答题 标准答案
  17. 电磁场与仿真软件(29)
  18. Java 第9天 面向对象(中) 理解有参构造器和无参构造器的作用
  19. 【Python语言基础】——Python 命令行输入
  20. node.js PM2部署项目

热门文章

  1. Ubuntu 18.04 安装NVIDIA显卡驱动教程
  2. RecyclerView 实现多种布局(上半部Gridview样式,下半部Listview样式)以及多种数据类型实现不同布局
  3. edptrayicon怎么卸载_谁知道怎样删除北信源内网管理软件客户端?
  4. 项目管理软件-禅道-内网部署
  5. excel撤销工作保护(忘记密码)
  6. 联想新电脑桌面没有计算机,联想电脑没有wifi图标不见了怎么办
  7. 基于百度万年历定制化 1
  8. 基于51单片机的交通灯控制系统设计
  9. 算法分析与设计:棋盘覆盖问题(分治法)
  10. java hsqldb数据库,HSQLDB数据库的使用