婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Go語言實現的最簡單數獨解法

Go語言實現的最簡單數獨解法

熱門標簽:百度地圖標注搜索關鍵詞 ?兓? 電梯外呼訪客系統 最短的地圖標注 浙江人工智能外呼管理系統 谷歌便利店地圖標注 電銷機器人可以補救房產中介嗎 成都呼叫中心外呼系統平臺 騰訊外呼系統價格

soduku.go

復制代碼 代碼如下:

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("")
    }
}

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

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

標簽:雅安 宜昌 紹興 上海 眉山 邢臺 盤錦 七臺河

巨人網絡通訊聲明:本文標題《Go語言實現的最簡單數獨解法》,本文關鍵詞  語言,實現,的,最簡,單數,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Go語言實現的最簡單數獨解法》相關的同類信息!
  • 本頁收集關于Go語言實現的最簡單數獨解法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品私人影院| 国产精品沙发午睡系列990531| 国产精品亚洲专一区二区三区 | 91在线小视频| 欧美日韩亚洲高清一区二区| 国产亚洲综合性久久久影院| 日韩高清不卡在线| 日韩一区二区三区在线观看| 久久精品人人做人人爽人人| 亚洲欧美电影一区二区| 日日欢夜夜爽一区| 在线免费观看日韩欧美| 国产精品久久久久久久浪潮网站 | 精品欧美一区二区在线观看| 日本亚洲一区二区| 欧美精品一区二区三区视频| 99麻豆久久久国产精品免费| 五月综合激情网| 琪琪久久久久日韩精品| 日韩精品福利网| 极品美女销魂一区二区三区免费| 国产精品一二三| 激情小说亚洲一区| 久久精品国产99国产精品| 成人午夜又粗又硬又大| 欧美日韩1区2区| 男女视频一区二区| 国产高清不卡二三区| av中文字幕一区| 肉肉av福利一精品导航| 久久99九九99精品| 国产成人av一区二区三区在线| 国产激情视频一区二区在线观看| 色网站国产精品| 国产精品国产馆在线真实露脸| 成人aa视频在线观看| 亚洲日本va午夜在线影院| 欧美日韩国产综合草草| 国产成人h网站| 一二三四社区欧美黄| 欧美一区二区三区色| 色哟哟在线观看一区二区三区| 日本欧美在线观看| 亚洲高清视频的网址| 精品日韩99亚洲| 蜜桃视频第一区免费观看| 欧美一区二区播放| 国产乱码精品一区二区三| 自拍偷拍国产精品| 在线视频亚洲一区| 国模少妇一区二区三区| 亚洲欧美激情在线| 欧美一区二区三区在线观看视频 | 视频在线观看一区二区三区| 久久精品一区八戒影视| 欧美videos中文字幕| 精品噜噜噜噜久久久久久久久试看 | 天天综合色天天| 日本欧美肥老太交大片| 亚洲欧美综合在线精品| 欧美精品一级二级| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 亚洲欧美国产毛片在线| 精品少妇一区二区三区视频免付费| 色噜噜偷拍精品综合在线| 国产自产高清不卡| 麻豆成人久久精品二区三区红 | 亚洲国产精品久久一线不卡| 中文字幕一区不卡| 国产亚洲综合性久久久影院| 国产亚洲精品精华液| 国产精品久久久久影院| 亚洲日韩欧美一区二区在线| 亚洲美女视频在线| 一区二区成人在线观看| 亚洲综合图片区| 亚洲成人资源在线| 久久www免费人成看片高清| 久久成人综合网| 国产美女视频一区| 精品亚洲国内自在自线福利| 国内精品久久久久影院一蜜桃| 日本欧美韩国一区三区| 在线看日本不卡| 在线这里只有精品| 久久久久久免费| 久久精品人人做人人综合| 国产精品久久久久久久岛一牛影视 | 26uuu精品一区二区| 亚洲精品国产一区二区精华液 | 国模冰冰炮一区二区| 亚洲成人自拍网| 99久久99久久精品免费观看 | 日本一二三四高清不卡| 黄网站免费久久| 精品国产免费视频| 精品一区二区三区的国产在线播放| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲精品乱码久久久久久| 亚洲成人三级小说| av福利精品导航| 久久蜜桃一区二区| 日韩在线a电影| 欧美日韩黄色影视| 亚洲欧洲日韩在线| 宅男噜噜噜66一区二区66| 亚洲欧美日韩久久| 成人免费看的视频| 久久久久免费观看| 91福利小视频| 日韩成人一级大片| 国产欧美一区二区精品性色| 国产一区二区精品久久| 日韩精品资源二区在线| 成人午夜激情视频| 久久精品久久精品| 欧美一区二区精品久久911| 无码av免费一区二区三区试看| 日韩欧美在线不卡| 国模少妇一区二区三区| 一区二区三区高清不卡| 91精品国产乱码久久蜜臀| 日韩影视精彩在线| 亚洲一二三专区| 国产欧美日韩在线视频| 欧美mv和日韩mv的网站| 成人一区二区三区视频在线观看| 亚洲一二三专区| 亚洲男帅同性gay1069| 中文字幕成人在线观看| 欧美一区三区四区| 成人丝袜视频网| 亚洲综合精品久久| 国产拍揄自揄精品视频麻豆| 欧美人xxxx| 欧美性猛片aaaaaaa做受| 欧美挠脚心视频网站| 91网站最新地址| 成人免费视频免费观看| 国产一区二区剧情av在线| 黑人巨大精品欧美一区| 日韩av网站在线观看| 肉丝袜脚交视频一区二区| 亚洲第一会所有码转帖| 亚洲一级在线观看| 亚洲欧洲精品一区二区三区 | 91浏览器入口在线观看| 国产精品18久久久久久久久久久久 | 综合色天天鬼久久鬼色| 久久久一区二区| 日韩美女天天操| 欧美一区二区三区色| 欧美性一二三区| 国产精品毛片大码女人| 亚洲欧美一区二区不卡| 久国产精品韩国三级视频| 懂色av一区二区三区免费看| 色狠狠色狠狠综合| 久久蜜桃一区二区| 午夜久久久影院| 播五月开心婷婷综合| 欧美亚洲高清一区| 久久久综合精品| 亚洲动漫第一页| 国产成人99久久亚洲综合精品| 99久久国产综合精品麻豆| 欧美久久久久久久久| 中文字幕国产一区| 老色鬼精品视频在线观看播放| 国产91精品在线观看| 777午夜精品视频在线播放| 久久久蜜臀国产一区二区| 亚洲精品视频在线观看免费| 国产综合色精品一区二区三区| av网站免费线看精品| 欧美高清视频在线高清观看mv色露露十八 | 久久久久久亚洲综合| 一区二区三区精品| 国产.欧美.日韩| 日韩欧美在线网站| 亚洲一区二区不卡免费| 狠狠色综合日日| 欧美性猛交一区二区三区精品| 午夜精品123| 精品黑人一区二区三区久久| 国产精品自拍一区| 综合激情网...| 欧美va亚洲va| 不卡高清视频专区| 亚洲成人一区二区| 国产欧美视频在线观看| 99re热这里只有精品视频| 亚洲一区二区精品视频| 欧美一二三区精品| 9i看片成人免费高清| 欧美性色黄大片| 亚洲国产激情av| 99精品国产一区二区三区不卡| 中国色在线观看另类| 欧美三级电影精品|