uva-193-图染色-枚举
题意:n个节点,可用描成黑色或者白色,黑节点和黑节点不能相连,问最多描出多少黑节点
#include <iostream>
#include <stdio.h>
#include<memory.h>
using namespace std; #define null NULL
const int N = ;
int final = -;
int mindex[N];
int map[N][N];
int vis[N];
int res[N];
int n, m; void read()
{
int s, e;
for (int i = ; i < m; i++)
{
cin >> s >> e;
map[s][mindex[s]++] = e;
map[e][mindex[e]++] = s;
} } void dfs(int cur, int total)
{
if(final!=- && n-cur++total<=final)
{
//n-cur+1+total,表示把当前节点和后面的所有节点都描成黑色能达到的最大数
return;
}
if (cur > n)
{
if (total > final)
{
final = total;
int j = ;
for (int i = ; i <= n; i++)
{
if (vis[i] == )
{
res[j++] = i;
}
}
}
return;
}
int ok = ;
for (int i = ; i < mindex[cur]; i++)
if (vis[map[cur][i]] == )
{
ok = ;
break;
}
if (ok)
{
vis[cur] = ;
dfs(cur + , total + );
}
vis[cur] = ;
dfs(cur + , total);
} int main(int argc, char* argv[])
{
//freopen("C:\\Users\\zzzzz\\Desktop\\1.txt","r",stdin);
int k;
cin >> k;
while (k--)
{
cin >> n >> m;
memset(map, , sizeof(map));
memset(mindex, , sizeof(mindex));
memset(vis,,sizeof(vis));
read();
final = -;
dfs(, );
cout<<final<<endl;
cout<<res[];
for(int i = ; i <final;i++)
cout<<" "<<res[i];
cout<<endl;
} return ;
}
uva-193-图染色-枚举的更多相关文章
- BZOJ1006:[HNOI2008]神奇的国度(弦图染色)
Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的. 为了巩固三角关系,K国禁止四边关系,五边关 ...
- BZOJ 1006: [HNOI2008]神奇的国度(弦图染色)
http://www.lydsy.com/JudgeOnline/problem.php?id=1006 题意: 思路: 这个就是弦图染色问题,弦图啥的反正我也不懂,具体看论文https://wenk ...
- uva 193 Graph Coloring(图染色 dfs回溯)
Description You are to write a program that tries to find an optimal coloring for a given graph. Col ...
- UVA 193 Graph Coloring 图染色 DFS 数据
题意:图上的点染色,给出的边的两个点不能都染成黑色,问最多可以染多少黑色. 很水的一题,用dfs回溯即可.先判断和当前点相连的点是否染成黑色,看这一点是否能染黑色,能染色就分染成黑色和白色两种情况递归 ...
- UVA 1613 K度图染色
题目 \(dfs+\)证明. 对于题目描述,可以发现\(K\)其实就是大于等于原图中最大度数的最小奇数,因为如果原图度数最大为奇数,则最多颜色肯定为K,而如果原图最大度数为偶数,则\(K\)又是奇数, ...
- 【BZOJ1006】【HNOI2008】神奇的国度(弦图染色)
1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 1467 Solved: 603[Submit][Stat ...
- UVa 10465 Homer Simpson (枚举)
10465 - Homer Simpson Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onli ...
- bzoj 1006 弦图染色
给定一个弦图,问最少染色数. 对于弦图的一个完美消去序列,从后往前染色,每次染可以染的最小编号的颜色,由完美消去序列的定义,序列任一后缀的点的导出子图中,由该后缀第一个元素及其邻接点导出的子图一定是完 ...
- BZOJ1006 神奇的国度 【弦图染色——最大势算法MCS】
1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec Memory Limit: 162 MB Submit: 4146 Solved: 1916 [Submit][S ...
- Ordering Tasks UVA - 10305 图的拓扑排序
John has n tasks to do. Unfortunately, the tasks are not independent and the execution of one task i ...
随机推荐
- TJU Problem 1090 City hall
注:对于每一横行的数据读取,一定小心不要用int型,而应该是char型或string型. 原题: 1090. City hall Time Limit: 1.0 Seconds Memory ...
- [LeetCode&Python] Problem 559. Maximum Depth of N-ary Tree
Given a n-ary tree, find its maximum depth. The maximum depth is the number of nodes along the longe ...
- ZOJ 3211dream city dp(效率优化)
Dream City Time Limit: 1 Second Memory Limit:32768 KB JAVAMAN is visiting Dream City and he see ...
- Ubuntu终端及VI 快捷键
Ubuntu终端 快捷键 功能 Tab 自动补全 Ctrl+a 光标移动到开始位置 Ctrl+e 光标移动到最末尾 Ctrl+k 删除此处至末尾的所有内容 Ctrl+u 删除此处至开始的所有内容 Ct ...
- Redis安装和主要功能简介
Redis安装和主要功能简介 Redis(https://redis.io/), 是一个内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 安装Redis 我很少在开发机中直接装各种数 ...
- 前端jquery---表单验证
重点: 1.表单的提交 2.触发blur事件 3.判断是否正确,提交与否 return False <!DOCTYPE html> <html lang="en" ...
- CTF-练习平台-Misc之 猜?
六.猜? 打开图片后发现是一个半个脸被遮住的美女,再联系到题目是“猜”,答案又是一个人的名字全拼,所以熟悉的人都知道这是刘亦菲,把拼音输进去就可以啦.
- Nginx 安装成Windows 服务方法
1. 下载nginx windows版本 http://www.nginx.org 2. 下载微软的2个工具: instsrv.exe.srvany.exe 去微软网站下载安装Windows Serv ...
- 用C#通过反射实现动态调用WebService 告别Web引用(转载)
我们都知道,调用WebService可以在工程中对WebService地址进行WEB引用,但是这确实很不方便.我想能够利用配置文件灵活调用WebService.如何实现呢? 用C#通过反射实现动态调用 ...
- android 开源项目列表【持续整理中。。。】
Android完整的开源项目,不包括各种组件的项目 社区客户端 oschina客户端:oschina网站的客户端,wp版,iOS版都有开源,一个社区型客户端,包括登录刷新各类视线 四次元新浪微博客户端 ...