校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Go語言實(shí)現(xiàn)的最簡單數(shù)獨(dú)解法

Go語言實(shí)現(xiàn)的最簡單數(shù)獨(dú)解法

熱門標(biāo)簽:百度地圖標(biāo)注搜索關(guān)鍵詞 ?兓? 電梯外呼訪客系統(tǒng) 最短的地圖標(biāo)注 浙江人工智能外呼管理系統(tǒng) 谷歌便利店地圖標(biāo)注 電銷機(jī)器人可以補(bǔ)救房產(chǎn)中介嗎 成都呼叫中心外呼系統(tǒng)平臺 騰訊外呼系統(tǒng)價(jià)格

soduku.go

復(fù)制代碼 代碼如下:

package main
import (
    "fmt"
)
type node []int
var sudokuMay [9][9]node
var Sudoku = [9][9]int{
    {0, 0, 0, 0, 0, 0, 8, 0, 0},
    {0, 8, 2, 4, 0, 0, 0, 0, 0},
    {1, 9, 0, 0, 6, 3, 0, 0, 0},
    {0, 5, 0, 0, 8, 0, 7, 0, 0},
    {6, 7, 8, 2, 0, 9, 1, 4, 3},
    {0, 0, 3, 0, 4, 0, 0, 8, 0},
    {0, 0, 0, 6, 2, 0, 0, 9, 4},
    {0, 0, 0, 0, 0, 5, 6, 1, 0},
    {0, 0, 0, 6, 0, 0, 0, 0, 0}}
func main() {
    n := inited(Sudoku)
    SudokuSure, _ := sure(sudokuMay)
    for n > 0 {
        n = Subinit(SudokuSure)
        // Output(sudokuMay)
        // fmt.Println(n)
        SudokuSure, _ = sure(sudokuMay)
    }
    Output(sudokuMay)
    fmt.Println(isEnable(sudokuMay))
    // test()
}
func isEnable(tn [9][9]node) bool {
    for i := 0; i 9; i++ {
        for j := 0; j 9; j++ {
            if len(tn[i][j]) == 0 {
                return false
            }
        }
    }
    return true
}
func sure(may [9][9]node) (sure [9][9]int, n int) {
    n = 0
    for i := 0; i 9; i++ {
        for j := 0; j 9; j++ {
            if len(may[i][j]) == 1 {
                sure[i][j] = may[i][j][0]
                n++
            } else {
                sure[i][j] = 0
            }
        }
    }
    return
}
func test() {
    i, j := 1, 3
    fmt.Println(Sudoku[i][j])
    for k := ((i / 3) * 3); k ((i/3)*3)+3; k++ {
        for l := ((j / 3) * 3); l ((j/3)*3)+3; l++ {
            fmt.Print(Sudoku[k][l])
        }
        fmt.Println(" ")
    }
}
func inited(Sud [9][9]int) (changeCount int) {
    tmp := 0
    changeCount = 0
    for i := 0; i 9; i++ {
        for j := 0; j 9; j++ {
            if Sud[i][j] != 0 {
                sudokuMay[i][j] = append(sudokuMay[i][j], Sud[i][j])
            } else {
                for k := 0; k 9; k++ {
                    sudokuMay[i][j] = append(sudokuMay[i][j], k+1)
                }
                sudokuMay[i][j], tmp = excludeMay(i, j, sudokuMay[i][j], Sud)
                changeCount += tmp
            }
        }
    }
    return
}
func Subinit(Sud [9][9]int) (changeCount int) {
    tmp := 0
    changeCount = 0
    for i := 0; i 9; i++ {
        for j := 0; j 9; j++ {
            if Sud[i][j] != 0 {
                sudokuMay[i][j][0] = Sud[i][j]
            } else {
                sudokuMay[i][j], tmp = excludeMay(i, j, sudokuMay[i][j], Sud)
                changeCount += tmp
            }
        }
    }
    return
}
func excludeMay(ti, tj int, t node, S [9][9]int) (rmay node, changeCount int) {
    changeCount = 0
    var tmpChangeCount int
    for i := 0; i 9; i++ {
        if S[i][tj] != 0 {
            t, tmpChangeCount = exclude(t, S[i][tj])
            changeCount += tmpChangeCount
        }
        if S[ti][i] != 0 {
            t, tmpChangeCount = exclude(t, S[ti][i])
            changeCount += tmpChangeCount
        }
    }
    for k := ((ti / 3) * 3); k ((ti/3)*3)+3; k++ {
        for l := ((tj / 3) * 3); l ((tj/3)*3)+3; l++ {
            if S[k][l] != 0 {
                t, tmpChangeCount = exclude(t, S[k][l])
                changeCount += tmpChangeCount
            }
        }
    }
    rmay = t
    return
}
func excludeFirstOne(smay node, n int) (rmay node, changeCount int) {
    changeCount = 0
    rmay = smay
    for i := 0; i len(smay); i++ {
        if smay[i] == n {
            changeCount++
            rmay = append(smay[:i], smay[i+1:]...)
            return
        }
        if i == len(smay)-1 {
            return
        }
    }
    return
}
func exclude(smay node, n int) (tmp node, changeCount int) {
    var nc int
    changeCount = 0
    tmp, nc = excludeFirstOne(smay, n)
    for nc > 0 {
        tmp, nc = excludeFirstOne(tmp, n)
        changeCount++
    }
    return
}
func Output(sudoku [9][9]node) {
    for i := 0; i 9; i++ {
        for j := 0; j 9; j++ {
            fmt.Print(sudokuMay[i][j])
        }
        fmt.Println("")
    }
}

以上就是本文給大家分享的代碼的全部內(nèi)容了,希望大家能夠喜歡。

您可能感興趣的文章:
  • Java實(shí)現(xiàn)解數(shù)獨(dú)的小程序
  • JavaScript遍歷求解數(shù)獨(dú)問題的主要思路小結(jié)
  • python實(shí)現(xiàn)數(shù)獨(dú)算法實(shí)例
  • c++遞歸解數(shù)獨(dú)方法示例
  • JQuery開發(fā)的數(shù)獨(dú)游戲代碼
  • PHP實(shí)現(xiàn)的方程求解示例分析
  • PHP經(jīng)典算法集錦【經(jīng)典收藏】
  • php編寫的抽獎(jiǎng)程序中獎(jiǎng)概率算法
  • php 大數(shù)據(jù)量及海量數(shù)據(jù)處理算法總結(jié)
  • 適用于抽獎(jiǎng)程序、隨機(jī)廣告的PHP概率算法實(shí)例
  • php中最簡單的字符串匹配算法
  • php數(shù)字轉(zhuǎn)漢字代碼(算法)
  • PHP實(shí)現(xiàn)的數(shù)獨(dú)求解問題示例

標(biāo)簽:雅安 宜昌 紹興 上海 眉山 邢臺 盤錦 七臺河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go語言實(shí)現(xiàn)的最簡單數(shù)獨(dú)解法》,本文關(guān)鍵詞  語言,實(shí)現(xiàn),的,最簡,單數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go語言實(shí)現(xiàn)的最簡單數(shù)獨(dú)解法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Go語言實(shí)現(xiàn)的最簡單數(shù)獨(dú)解法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    成人免费高清在线| 欧美一区二区福利在线| 欧美老女人第四色| 亚洲一区在线观看网站| 色综合咪咪久久| 亚洲成人精品一区二区| 91麻豆精品国产自产在线 | 丁香网亚洲国际| 亚洲欧美偷拍三级| 欧美日韩国产小视频| 九九热在线视频观看这里只有精品| 精品1区2区在线观看| 99re视频精品| 秋霞午夜鲁丝一区二区老狼| 国产欧美va欧美不卡在线| 色狠狠一区二区| 全国精品久久少妇| 亚洲视频免费观看| 精品国产一区二区三区av性色 | 久久这里都是精品| 色综合天天综合| 国产一区二区三区在线观看免费 | 日韩一区二区三区免费观看 | 韩国午夜理伦三级不卡影院| 亚洲女同一区二区| 久久精品免费在线观看| 欧美一区在线视频| 欧美三级视频在线观看| 91在线精品秘密一区二区| 日本中文一区二区三区| 亚洲激情图片小说视频| 久久综合九色综合欧美98| 欧美日韩mp4| 在线观看日韩一区| 大陆成人av片| 国产精品综合一区二区| 午夜国产不卡在线观看视频| 中文字幕一区二区三区色视频 | 欧美大度的电影原声| 欧美性极品少妇| 色吧成人激情小说| 94-欧美-setu| 亚洲精品伦理在线| 国产欧美日韩综合| 国产女人18水真多18精品一级做| 日韩欧美中文字幕精品| 3d动漫精品啪啪1区2区免费| 欧美日韩国产经典色站一区二区三区 | 青青国产91久久久久久| 丝袜诱惑制服诱惑色一区在线观看| 亚洲欧洲韩国日本视频| 中文字幕在线免费不卡| 国产精品久久久久7777按摩| 欧美国产1区2区| 2021久久国产精品不只是精品| 欧美性大战久久久久久久| 91猫先生在线| 欧美午夜精品久久久| 欧美色图在线观看| 91精品国模一区二区三区| 精品国产一区二区亚洲人成毛片 | 99在线精品免费| 99久久久国产精品| 欧洲一区二区三区在线| 欧美理论片在线| 2024国产精品| 国产精品久久久久精k8| 亚洲精品日日夜夜| 污片在线观看一区二区| 久久不见久久见免费视频1| 国产福利一区二区三区视频在线| 成人美女视频在线观看| 欧美影片第一页| 日韩免费高清电影| 国产精品午夜免费| 亚洲成人一区二区| 北条麻妃一区二区三区| 91官网在线观看| 欧美一区二区人人喊爽| 精品少妇一区二区三区日产乱码| 久久久综合视频| 亚洲综合清纯丝袜自拍| 激情文学综合插| 色先锋久久av资源部| 日韩一级免费观看| 国产精品久久久久久久久免费丝袜| 一区二区日韩av| 激情深爱一区二区| 色香蕉久久蜜桃| 国产喷白浆一区二区三区| 亚洲综合一区二区精品导航| 久久99精品久久久久久国产越南| 成人av午夜电影| 91精品国产aⅴ一区二区| 国产欧美视频一区二区| 日韩在线一区二区三区| 成人免费毛片嘿嘿连载视频| 69堂国产成人免费视频| 亚洲青青青在线视频| 男女男精品视频网| 91免费观看视频| 欧美极品xxx| 日韩精品乱码av一区二区| 成人久久视频在线观看| 91精品国产91热久久久做人人| 亚洲欧美视频在线观看| 国产高清成人在线| 91精品国产欧美一区二区| 亚洲日本一区二区| 国产99久久久精品| 欧美一二区视频| 午夜久久久久久电影| 在线观看亚洲成人| 亚洲视频一区二区在线观看| 国产精品亚洲第一区在线暖暖韩国| 91精品国产入口| 五月综合激情网| 欧美偷拍一区二区| 一区二区三区日韩欧美| 色综合色狠狠综合色| 国产精品初高中害羞小美女文| 九九精品一区二区| 国产色产综合产在线视频| 免费日本视频一区| 日韩欧美一区二区不卡| 日本最新不卡在线| 日韩一区二区在线观看视频播放| 亚洲一线二线三线视频| 在线观看成人免费视频| 亚洲精品日韩综合观看成人91| 成人精品视频一区二区三区| 国产午夜精品久久久久久久| 久久国产精品区| 精品乱码亚洲一区二区不卡| 免费观看在线色综合| 麻豆精品在线播放| 日韩三级精品电影久久久| 五月激情综合网| 在线不卡免费欧美| 美女一区二区在线观看| 欧美电视剧在线看免费| 精品一区二区三区在线播放视频| 精品国产乱码久久久久久图片| 免费成人美女在线观看.| 欧美精品一区二区在线播放| 国产精品一区二区三区99| 久久久九九九九| 99精品国产视频| 一区二区三区四区精品在线视频| 欧美三级视频在线播放| 精品无人区卡一卡二卡三乱码免费卡| 日韩午夜电影av| 成人免费视频国产在线观看| 亚洲欧美日韩系列| 欧美日韩另类一区| 久久国产尿小便嘘嘘尿| 国产精品无遮挡| 欧美日韩国产另类一区| 国产综合久久久久久鬼色| 中文字幕欧美国产| 91精品国产一区二区人妖| 国产成人综合亚洲91猫咪| 一区二区三区在线看| 日韩欧美成人激情| 色婷婷久久久综合中文字幕 | 亚洲一区二区三区激情| 精品奇米国产一区二区三区| 一本到高清视频免费精品| 精品亚洲免费视频| 亚洲午夜电影网| 国产亚洲精品精华液| 91成人在线免费观看| 国产精品一二三区在线| 日韩综合小视频| 国产精品视频免费看| 日韩你懂的在线播放| 91丨九色丨蝌蚪丨老版| 久久se这里有精品| 亚洲亚洲人成综合网络| 日本一区二区成人| 精品久久久久久久久久久久久久久| 一本在线高清不卡dvd| 国产一区二区伦理片| 午夜精品福利一区二区三区蜜桃| 国产精品护士白丝一区av| 精品日韩av一区二区| 在线综合+亚洲+欧美中文字幕| 色噜噜夜夜夜综合网| 国产福利精品一区二区| 韩国成人在线视频| 青青草国产成人99久久| 丝袜亚洲另类丝袜在线| 亚洲国产aⅴ天堂久久| 国产精品成人网| 国产日本欧美一区二区| 久久综合色鬼综合色| 日韩精品一区二区三区在线播放 | 欧美在线啊v一区| 99re这里只有精品6| 99视频精品全部免费在线|