http://codeforces.com/gym/101149/problem/I

考虑下面这个例子

4 3

1 2

1 3

1 4

应该是选 0 0 1 1这样是最优的,我们不选1号,因为如果选1号作为非法分子点,那么2、3、4也不能有警察了,这不行。

那么究竟选呢?

很明显的一个道理是,选出儿子数最小的那个点,作为非法分子点,那么不放警察的地方就变得小了。

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
#define IOS ios::sync_with_stdio(false)
using namespace std;
#define inf (0x3f3f3f3f)
typedef long long int LL; #include <iostream>
#include <sstream>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <string>
const int maxn = 2e5 + ;
vector<int>son[maxn];
bool vis[maxn];
void work() {
IOS;
int n, m;
cin >> n >> m;
for (int i = ; i <= m; ++i) {
int u, v;
cin >> u >> v;
son[u].push_back(v);
son[v].push_back(u);
}
int mi = inf;
int id = inf;
for (int i = ; i <= n; ++i) {
if (son[i].size() < mi) {
mi = son[i].size();
id = i;
}
}
vis[id] = ;
for (int i = ; i < son[id].size(); ++i) {
vis[son[id][i]] = ;
}
for (int i = ; i <= n; ++i) {
printf("%d ", !vis[i]);
}
}
int main() {
#ifdef local
freopen("data.txt","r",stdin);
#endif
work();
return ;
}

最新文章

  1. 良心版Dolby Home Theater v4.1安装教程
  2. .NET项目工程生成一份项目帮助文档chm--Sandcastle工具
  3. Exif
  4. mysql 存储过程和存储函数
  5. app的meta
  6. kylin学习笔记
  7. Less的学习(一)
  8. SpringMvc入门五----文件上传
  9. poj 2373 Dividing the Path
  10. 【和我一起学python吧】Python 启航
  11. linux开源论坛
  12. # void :;
  13. hdu Color the ball
  14. netstat/ps用法
  15. Hyper Text Transfer Protocol(超文本传输协议)
  16. Netty 客户端断线重连
  17. JavaScript是如何工作的:使用MutationObserver跟踪DOM的变化
  18. 附2 rabbitmq用户管理、角色管理与权限管理
  19. Java 之 XML
  20. centos7.5图形界面与命令行界面转换

热门文章

  1. 通过kettle数据导入mysql时,空值的处理在插入mysql时,会自动转转换为null值,无法插入
  2. 51Nod - 1295:XOR key (可持久化Trie求区间最大异或)
  3. HihoCoder 1638 : 小Hi的天平 (2-sat+并查集)
  4. Java并发实现线程阻塞原语LockSupport
  5. bootStrap效果图
  6. JAVA 中的堆和栈
  7. Azure Key Vault (1) 入门
  8. fragment error
  9. JavaScript-Tool:jquery.vaidate.js
  10. error:未定义的引用