深搜,四色定理,(POJ1129)
题目链接:http://poj.org/problem?id=1129
解题报告:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std; bool map[][];
int mark[];
char str[];
int n,ans; ///判断给x这个节点,上color这种颜色是否可以
bool Judge(int x,int color)
{
for(int i=; i<n; i++)
{
if(i!=x&&map[x][i]&&mark[i]==color)///如果子节点同色则不可以
return ;
}
return ;
} ///搜索第pos个节点
void dfs(int pos)
{
///搜索完毕。
if(pos==n)
{
///*max_element(mark,mark+n);是查找[mark,mark+n)中的最大者
ans=min(ans,*max_element(mark,mark+n));
return ;
}
///从pos这个节点开始搜起
for(int i=pos; i<n; i++)
{
///四色定理
for(int j=; j<=; j++)
{
///给i这个节点上j这种颜色是否符合
if(Judge(i,j))
{
///符合题意的话,给i上j这种颜色
mark[i]=j;
///搜索下一个节点
dfs(i+);
}
}
}
} int main()
{
while(scanf("%d",&n),n)
{
memset(map,false,sizeof(map));
for(int i=; i<n; i++)
{
scanf("%s",str);
for(int j=; j<strlen(str); j++)
{
map[i][str[j]-'A']=true;
map[str[j]-'A'][i]=true;
}
}
memset(mark,,sizeof(mark));
ans=;
mark[]=;
dfs();
if(ans==)
{
printf("1 channel needed.\n");
}
else
printf("%d channels needed.\n",ans);
}
return ;
}
深搜,四色定理,(POJ1129)的更多相关文章
- HDU--杭电--1195--Open the Lock--深搜--都用双向广搜,弱爆了,看题了没?语文没过关吧?暴力深搜难道我会害羞?
这个题我看了,都是推荐的神马双向广搜,难道这个深搜你们都木有发现?还是特意留个机会给我装逼? Open the Lock Time Limit: 2000/1000 MS (Java/Others) ...
- 利用深搜和宽搜两种算法解决TreeView控件加载文件的问题。
利用TreeView控件加载文件,必须遍历处所有的文件和文件夹. 深搜算法用到了递归. using System; using System.Collections.Generic; using Sy ...
- 2016弱校联盟十一专场10.3---Similarity of Subtrees(深搜+hash、映射)
题目链接 https://acm.bnu.edu.cn/v3/problem_show.php?pid=52310 problem description Define the depth of a ...
- 2016弱校联盟十一专场10.2---Around the World(深搜+组合数、逆元)
题目链接 https://acm.bnu.edu.cn/v3/problem_show.php?pid=52305 problem description In ICPCCamp, there ar ...
- 2015暑假多校联合---Cake(深搜)
题目链接:HDU 5355 http://acm.split.hdu.edu.cn/showproblem.php?pid=5355 Problem Description There are m s ...
- 深搜+回溯 POJ 2676 Sudoku
POJ 2676 Sudoku Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 17627 Accepted: 8538 ...
- 深搜+DP剪枝 codevs 1047 邮票面值设计
codevs 1047 邮票面值设计 1999年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description ...
- 【wikioi】1049 棋盘染色(迭代深搜)
http://www.wikioi.com/problem/1049/ 这题我之前写没想到迭代加深,看了题解,然后学习了这种搜索(之前我写的某题也用过,,但是不懂专业名词 囧.) 迭代加深搜索就是限制 ...
- poj1190 生日蛋糕(深搜+剪枝)
题目链接:poj1190 生日蛋糕 解题思路: 深搜,枚举:每一层可能的高度和半径 确定搜索范围:底层蛋糕的最大可能半径和最大可能高度 搜索顺序:从底层往上搭蛋糕,在同一层尝试时,半径和高度都是从大到 ...
- HDU 4597 Play Game(记忆化搜索,深搜)
题目 //传说中的记忆化搜索,好吧,就是用深搜//多做题吧,,这个解法是搜来的,蛮好理解的 //题目大意:给出两堆牌,只能从最上和最下取,然后两个人轮流取,都按照自己最优的策略,//问说第一个人对多的 ...
随机推荐
- python发送微信
申请企业微信 使用python发送信息到企业微信,同时支持python2与python3环境,需要先申请一个企业微信,然后创建应用,获取以下三个信息 企业IP.Agentid.Secret 网信为创建 ...
- my08_mysqldump+binlog server备份
备份策略描述 ******************************************* mysqldump备份适用于小数据量的备份,比如100G以下的数据量,就可以使用逻辑备份 举例两个 ...
- docker 部署公司阿里云服务器 (一)
持续更新... 背景环境: 阿里云ecs服务器 centos7.4 公网地址:xx.xx.xx.xx 内网地址:172.16.77.4 阿里云RDS 阿里云 Redis 第 ...
- 以sqlplus管理员权限登陆oracle
>>sqlplus username/password@orcl as sysdba 切记切记
- JavaSE---对象序列化
1.对象序列化机制 允许把内存中的Java对象转换成平台无关的二进制流,从而可以将二进制流持久保存到磁盘 或 在网络中直接传输: (目的:使得对象可以脱离程序的运行而独立存在) package com ...
- 3DMAx Panda Directx Exporter 导出 X插件
Panda Directx Exporter 下载地址 http://www.andytather.co.uk/Panda/directxmax_downloads.aspx 将下载的文件解压后,放到 ...
- 01-消息中间件概述和ActiveMq入门
1.mq解决的问题 系统异步处理 应用解耦 流量削峰 日志处理 消息通信 2.消息中间件的2中模型 2.1 Point-to-Point(P2P) / 点对点 / 类比:送快递 特点: + 一个消费生 ...
- robot framework 的AutoItLibrary常用关键字
1.run 的用法,以及激活当前窗口
- 用一层for循环初始化三维数组
][][]; ; i < * * ; i++) { a[i / ][(i / ) % ][i % ] = i; printf(, (i / ) % , i % ); // printf(&quo ...
- php 自带加密、解密函数
php 自带的加密函数 不可逆的加密函数为:md5().crypt() md5() 用来计算 MD5 哈稀.语法为:string md5(string str); crypt() 将字符串用 UNI ...