题意 :给定数独的某些初始值,规定每个格子的得分,求得分最大的数独的解。思路:这是某年的noip的原题,高中时就写过,位运算也就是那个时候学会的--。这题明显是暴搜,但是需要注意两点,一是需要加一些常数优化,也就是位运算,一个是剪枝,填完某个数后发现某个格子无解了则换个数填,并且那些可填的数的种数少...
分类:
其他好文 时间:
2015-05-05 06:30:46
阅读次数:
256
引用 数独游戏技巧(图解)一直都有在玩数独一般难度的都能完成可是高难度的就完全没办法了好多累计玩了几十小时都解不出刚刚在网上看到这个介绍数独技巧的帖子真的很实用不过方法太多得慢慢消化。。。引用地狱大坏蛋的数独游戏技巧(图解)i)唯一数法:如果我们发现某个格子中只有一个可用候选数,那么这个格子必然是这...
分类:
其他好文 时间:
2015-05-03 17:26:11
阅读次数:
145
问题分析
数独解法基本靠暴力求解,在所有没有确定的位置对所有可能的解进行尝试,直接暴力解运行时间是153ms。所以在此之前先确定一下唯一解的位置,唯一解有两种类型。
该位置在所在行、列、宫上都满足的情况下的候选集只有一个;
该位置在所在行(列、宫)的所有未确定位置的候选集该值只出现一次。...
分类:
其他好文 时间:
2015-04-30 18:25:05
阅读次数:
136
这个之前也做过,不过就是,求出一种解法之后就退出了可以很方便的改成找出所有解的形式数独时间限制:1000ms|内存限制:65535KB难度:4描述数独是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一..
分类:
其他好文 时间:
2015-04-29 15:19:36
阅读次数:
171
16*16的数独,类似poj 3074.
//poj 3076
//sep9
#include
#include
#define INT_MAX 2147483647
using namespace std;
const int col_num=16*16*4;
const int row_num=16*16*16+10;
const int head=0;
const int MAX...
分类:
其他好文 时间:
2015-04-27 21:56:04
阅读次数:
216
题意:
给一个数独的状态,判断它是否合法。
分析:
水,直接判断。
代码:
//poj 3435
//sep9
#include
using namespace std;
const int maxN=10;
const int MAX=maxN*maxN+10;
int a[MAX][MAX];
int col_check[MAX][MAX];
int row_check[MAX][...
分类:
其他好文 时间:
2015-04-27 21:48:38
阅读次数:
135
分析:
dlx是从数据结构角度优化01矩阵精确覆盖和重复覆盖的数据结构,它用十字链表只存贮矩阵中的非0元,而01矩阵精确覆盖dfs过程中矩阵会越来越稀疏而且每次恢复现场会浪费大量时间,dlx恰好能解决这两个问题。本题关键是将数独问题转化为01矩阵精确覆盖。数独转化为精确覆盖问题的方法还是参照Knuth的论文,如果读取到一个格子是空的,那么加9行,分别表示这个格子填1到9这9个数字,如果读取到的格...
分类:
其他好文 时间:
2015-04-27 16:57:30
阅读次数:
264
公式很简单,就是初值要处理好就可以了
#include
#include
#include
using namespace std;
const int inf=9999999;
int s[2005],d[2005],dp[2005][2];//dp[i][0]第i个数独立处理时,前i个数的最大值 dp[i][1]第i个数和前面的数一起处理时,前i个数的最大值
int main(){
...
分类:
其他好文 时间:
2015-04-27 13:19:24
阅读次数:
103
数独的美丽,哈密顿圈,货郎担回路,竟然是一路相通 问题...
分类:
其他好文 时间:
2015-04-27 09:59:57
阅读次数:
638
解决数独Write a program to solve a Sudoku puzzle by filling the empty cells.Empty cells are indicated by the character '.'.You may assume that there will ...
分类:
其他好文 时间:
2015-04-24 19:00:59
阅读次数:
135