摘要: 题意:给定一张图,现在对这张图进行染色,且相邻的两个点的颜色不能够相同,问最少要用多少种颜色?思路:有一下贪心思路,对于没一个节点,我们对其周围的结点进行遍历,对有颜色的邻节点的颜色进行统计,选取一种编号最靠前且不与周边颜色冲突的颜色对改点进行涂色。由 于我们的涂色都是按编号从小到大因此该策略下能够产生最小的颜色集合。可以简单的证明下:假设现有N个点,对部分点已经进行了涂色,且满足条件,现在问题就是我们 的算法在要添加一种新颜色的时候还在用以前的颜色,导致后面出现了更多的颜色开销(违背贪心规则,如果确实这样的话,此题则变为动态规划求解),但是我们得出的推 论是,如果一个点应该被涂... 阅读全文
posted @ 2012-11-20 20:30 沐阳 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个数独的题目,0代表这个点的值未确定,现在要求填写数字进去且满足:1.每一行必须是1-9的集合2.每一列必须是1-9的集合3.每一个子矩阵内必须是1-9的集合由于给定的约束条件比较多,因此直接dfs即可。代码如下:#include <cstdlib>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;char G[15][15];int r[15][15], c[15][15], f[15][15];// G用来保留整个图,R用来说明某一 阅读全文
posted @ 2012-11-20 17:35 沐阳 阅读(247) 评论(0) 推荐(0) 编辑