洛谷 P3496 [POI2010]GIL-Guilds 题解
题目: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 题解相关推荐
- 洛谷P1129 [ZJOI2007] 矩阵游戏 题解
洛谷P1129 [ZJOI2007] 矩阵游戏 题解 题目链接:P1129 [ZJOI2007] 矩阵游戏 题意:给定一张有黑白棋子的正方形棋盘,问存不存在解法使得经过若干次交换行或列的操作后,左上角 ...
- 洛谷P3336 [ZJOI2013]话旧 题解
洛谷P3336 [ZJOI2013]话旧 题解 题目链接:P3336 [ZJOI2013]话旧 题意:小林跟着银河队选手去了一趟宇宙比赛,耳濡目染,变得学术起来.回来后,他发现世界大变样了.比丘兽究级 ...
- 洛谷P4683 [IOI2008] Type Printer 题解
洛谷P4683 [IOI2008] Type Printer 题解 题目链接:P4683 [IOI2008] Type Printer 题意: 你需要利用一台可移动的打印机打印出NNN个单词.这种可移 ...
- 洛谷P3647 [APIO2014] 连珠线 题解
洛谷P3647 [APIO2014] 连珠线 题解 题目链接:P3647 [APIO2014] 连珠线 题意: 在达芬奇时代,有一个流行的儿童游戏称为连珠线.当然,这个游戏是关于珠子和线的.线是红色或 ...
- 洛谷P4170 [CQOI2007]涂色 题解
洛谷P4170 [CQOI2007]涂色 题解 题目链接:P4170 [CQOI2007]涂色 题意: 假设你有一条长度为 555 的木板,初始时没有涂过任何颜色.你希望把它的 555 个单位长度分别 ...
- 洛谷P1868 饥饿的奶牛 题解
洛谷P1868 饥饿的奶牛 题解 题目链接:P1868 饥饿的奶牛 题意: 有一条奶牛冲出了围栏,来到了一处圣地(对于奶牛来说),上面用牛语写着一段文字. 现用汉语翻译为: 有 NNN 个区间,每个区 ...
- 洛谷P1462 通往奥格瑞玛的道路 题解
洛谷P1462 通往奥格瑞玛的道路 题解 题目链接:P1462 通往奥格瑞玛的道路 题意:在艾泽拉斯,有 nnn 个城市.编号为 1,2,3,-,n1,2,3,\ldots,n1,2,3,-,n . ...
- 洛谷 P2015 二叉苹果树 题解
洛谷 P2015 二叉苹果树 题解 洛谷 P2015 题目 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有NNN个结点(叶子点或者树枝分叉点),编号为1-NNN ...
- 洛谷P3879 [TJOI2010] 阅读理解 题解
洛谷P3879 [TJOI2010] 阅读理解 题解 题目链接:P3879 [TJOI2010] 阅读理解 题意: 英语老师留了 NNN 篇阅读理解作业,但是每篇英文短文都有很多生词需要查字典,为了节 ...
- 洛谷P4113 [HEOI2012]采花 题解
洛谷P4113 [HEOI2012]采花 题解 题目链接:P4113 [HEOI2012]采花 题意:萧薰儿是古国的公主,平时的一大爱好是采花. 今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园 ...
最新文章
- c++ 回调函数_Java中的回调机制,这篇给你整的明明白白的
- Matlab调用Java类访问数据库
- C/C++ 数据类型
- NSIS打包软件(一)
- linux php自动执行_linux下实现定时执行php脚本
- asp.net core系列 40 Web 应用MVC 介绍与详细示例
- Linux内核深入理解中断和异常(2):初步中断处理-中断加载
- Spring Boot学习总结(8)——SpringBoot Common application properties(application.properties)详解
- Tomcat错误解决
- c语言报刊杂志订阅系统,中国报刊杂志大全_报刊大全_报刊杂志订阅
- 计算机科目三教学设计,驾校科目三教案
- python大数据工程师招聘_大数据工程师是做什么的为什么招聘网上薪资都好高啊?...
- Android实现头像上传至数据库与保存 简易新闻(十七 上)
- HTTPS证书文件格式转换
- php正则表达式后向引用和贪婪模式
- 1024程序员节 技术对抗赛 算法与安全答题 标准答案
- 电磁场与仿真软件(29)
- Java 第9天 面向对象(中) 理解有参构造器和无参构造器的作用
- 【Python语言基础】——Python 命令行输入
- node.js PM2部署项目
热门文章
- Ubuntu 18.04 安装NVIDIA显卡驱动教程
- RecyclerView 实现多种布局(上半部Gridview样式,下半部Listview样式)以及多种数据类型实现不同布局
- edptrayicon怎么卸载_谁知道怎样删除北信源内网管理软件客户端?
- 项目管理软件-禅道-内网部署
- excel撤销工作保护(忘记密码)
- 联想新电脑桌面没有计算机,联想电脑没有wifi图标不见了怎么办
- 基于百度万年历定制化 1
- 基于51单片机的交通灯控制系统设计
- 算法分析与设计:棋盘覆盖问题(分治法)
- java hsqldb数据库,HSQLDB数据库的使用