数独

ACM
算法练习题
bingoabin
package com.epoint.bigdata;

import java.util.*;

public class CalcShuDu {
	public static void main(String[] args) {
		// 生成候选数字表,9行9列,每个格子有9个数字
		int[][][] candi = new int[9][9][9];
		// 初始化候选数字表
		for (int i = 0; i < 9; i++) {
			for (int j = 0; j < 9; j++) {
				candi[i][j] = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
				;
			}
		}
		int[][] sudo = { { 0, 0, 9, 6, 0, 0, 0, 3, 0 }, { 0, 0, 1, 7, 0, 0, 0, 4, 0 }, { 7, 0, 0, 0, 9, 0, 0, 8, 0 },
				{ 0, 7, 0, 0, 8, 0, 5, 0, 0 }, { 1, 0, 0, 0, 4, 0, 0, 2, 0 }, { 0, 2, 0, 0, 1, 0, 9, 0, 0 },
				{ 5, 0, 0, 0, 0, 9, 0, 0, 0 }, { 6, 0, 0, 0, 0, 3, 0, 0, 2 }, { 4, 0, 0, 0, 0, 0, 0, 0, 1 } };

		if (isOkSudo(candi, sudo)) {
			System.out.println("校验是不是一个合法数独:是");
		} else {
			System.out.println("校验是不是一个合法数独:不是");
			return;
		}

		crack(candi, sudo);

		// 获取隐形数组中两个相等的数
		List<CandiInfo> equalCandi = getEqualCandi(candi, sudo);

		// 获取其中一个进行试
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 点我我会动 设计师:白松林 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值