欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言實(shí)現(xiàn)數(shù)獨(dú)小游戲

 更新時(shí)間:2022年03月24日 15:09:29   作者:星爵小二哥  
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)數(shù)獨(dú)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語言實(shí)現(xiàn)數(shù)獨(dú)小游戲的具體代碼,供大家參考,具體內(nèi)容如下

輸入包含9x9的已知數(shù)字,空位用0補(bǔ)齊,中間用空格隔開。(輸入數(shù)獨(dú)題目確保正確)
輸出為輸入數(shù)獨(dú)題目的解。

玩家需要根據(jù)9×9盤面上的已知數(shù)字,推理出所有剩余空格的數(shù)字,并滿足每一行、每一列、每一個(gè)同色九宮內(nèi)的數(shù)字均含1-9,不重復(fù)。

樣例輸入:

樣例輸出:

代碼:

#include <stdio.h>
#include <stdlib.h>

int *fillnumber(int a[9][9][10],int number,int i,int j){
? ? for (int k=0;k<9;k++){
? ? ? ? a[i][k][number]++;
? ? ? ? a[k][j][number]++;
? ? }
? ? for (int n=0;n<3;n++){
? ? ? ? for (int m=0;m<3;m++){
? ? ? ? ? ? a[i/3*3+n][j/3*3+m][number]++;
? ? ? ? }
? ? }
? ? return a;
}
int *resetnumber(int a[9][9][10],int number,int i,int j){
? ? for (int k=0;k<9;k++){
? ? ? ? a[i][k][number]--;
? ? ? ? a[k][j][number]--;
? ? }
? ? for (int n=0;n<3;n++){
? ? ? ? for (int m=0;m<3;m++){
? ? ? ? ? ? a[i/3*3+n][j/3*3+m][number]--;
? ? ? ? }
? ? }
? ? return a;
}

void search(int step, int a[9][9],int g[9][9][10]){
? ? if (step==0) {
? ? ? ? for (int i=0;i<9;i++){
? ? ? ? ? ? for (int j=0;j<9;j++){
? ? ? ? ? ? ? ? printf("%d ",a[i][j]);
? ? ? ? ? ? }
? ? ? ? ? ? printf("\n");
? ? ? ? }
? ? ? ? exit(0);
? ? }

? ? for (int i=0;i<9;i++){
? ? ? ? for (int j=0;j<9;j++){
? ? ? ? ? ? if (a[i][j]==0) {
? ? ? ? ? ? ? ? for (int number=1;number<10;number++){
? ? ? ? ? ? ? ? ? ? if (g[i][j][number]==0){
? ? ? ? ? ? ? ? ? ? ? ? fillnumber(g,number,i,j);
? ? ? ? ? ? ? ? ? ? ? ? a[i][j]=number;
? ? ? ? ? ? ? ? ? ? ? ? search(step-1,a,g);
? ? ? ? ? ? ? ? ? ? ? ? a[i][j]=0;
? ? ? ? ? ? ? ? ? ? ? ? resetnumber(g,number,i,j);
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? }
? ? }
}


int main(int argc, const char * argv[]) {
? ? int a[9][9];
? ? int abool[9][9][10];
? ? int step=0;
? ? for (int i =0;i<9;i++){
? ? ? ? for (int j=0;j<9;j++){
? ? ? ? ? ? for (int k=1;k<10;k++) {
? ? ? ? ? ? ? ? abool[i][j][k]=0;
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? for (int i =0;i<9;i++){
? ? ? ? for (int j=0;j<9;j++){
? ? ? ? ? ? scanf("%d",&a[i][j]);
? ? ? ? ? ? if (a[i][j]==0) {
? ? ? ? ? ? ? ? step++;
? ? ? ? ? ? }
? ? ? ? ? ? else{
? ? ? ? ? ? ? ? fillnumber(abool,a[i][j],i,j);

? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? search(step,a,abool);
? ? return 0;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言八大排序之堆排序

    C語言八大排序之堆排序

    堆排序是利用堆這種數(shù)據(jù)結(jié)構(gòu)而設(shè)計(jì)的一種排序算法,堆排序是一種選擇排序,它的最壞,最好,平均時(shí)間復(fù)雜度均為O(nlogn),它也是不穩(wěn)定排序
    2022-02-02
  • C語言中的結(jié)構(gòu)體內(nèi)嵌函數(shù)用法

    C語言中的結(jié)構(gòu)體內(nèi)嵌函數(shù)用法

    這篇文章主要介紹了C語言中的結(jié)構(gòu)體內(nèi)嵌函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 一篇文章徹底弄懂C++虛函數(shù)的實(shí)現(xiàn)機(jī)制

    一篇文章徹底弄懂C++虛函數(shù)的實(shí)現(xiàn)機(jī)制

    C++中的虛函數(shù)的作用主要是實(shí)現(xiàn)了多態(tài)的機(jī)制,基類定義虛函數(shù),子類可以重寫該函數(shù),在派生類中對(duì)基類定義的虛函數(shù)進(jìn)行重寫時(shí),需要在派生類中聲明該方法為虛方法,這篇文章主要給大家介紹了關(guān)于如何通過一篇文章徹底弄懂C++虛函數(shù)的實(shí)現(xiàn)機(jī)制,需要的朋友可以參考下
    2021-06-06
  • C++超詳細(xì)講解標(biāo)準(zhǔn)庫

    C++超詳細(xì)講解標(biāo)準(zhǔn)庫

    C++強(qiáng)大的功能來源于其豐富的類庫及庫函數(shù)資源。C++標(biāo)準(zhǔn)庫(C++ Standard Library, 亦可稱作,C++標(biāo)準(zhǔn)程序庫)的內(nèi)容總共在50個(gè)標(biāo)準(zhǔn)頭文件中定義。在C++開發(fā)中,要盡可能地利用標(biāo)準(zhǔn)庫完成
    2022-06-06
  • 深入理解C++移位運(yùn)算符

    深入理解C++移位運(yùn)算符

    下面小編就為大家?guī)硪黄钊肜斫釩++移位運(yùn)算符。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-05
  • C++深入探究重載重寫覆蓋的區(qū)別

    C++深入探究重載重寫覆蓋的區(qū)別

    C++ 允許多個(gè)函數(shù)擁有相同的名字,只要它們的參數(shù)列表不同就可以,這就是函數(shù)的重載(Function Overloading),借助重載,一個(gè)函數(shù)名可以有多種用途
    2022-08-08
  • OpenCV中C++函數(shù)imread讀取圖片的問題及解決方法

    OpenCV中C++函數(shù)imread讀取圖片的問題及解決方法

    利用C++函數(shù)imread讀取圖片的時(shí)候返回的結(jié)果總是空,而利用C函數(shù)cvLoadImage時(shí)卻能讀取到圖像。怎么回事?今天小編通過本教程給大家簡(jiǎn)單說明原因
    2017-03-03
  • C++11?constexpr使用詳解

    C++11?constexpr使用詳解

    constexpr是一種比const?更嚴(yán)格的束縛,?它修飾的表達(dá)式本身在編譯期間可知,?并且編譯器會(huì)盡可能的?evaluate?at?compile?time,本文重點(diǎn)給大家介紹C++11?constexpr使用,需要的朋友可以參考下
    2021-12-12
  • C++?自增自減運(yùn)算符的實(shí)現(xiàn)示例

    C++?自增自減運(yùn)算符的實(shí)現(xiàn)示例

    本文主要介紹了C++?自增自減運(yùn)算符的實(shí)現(xiàn)示例,自增和自減運(yùn)算符在C++中主要用于循環(huán)語句中,使循環(huán)變量的值自動(dòng)+1或者-1,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • c++實(shí)現(xiàn)值機(jī)系統(tǒng)

    c++實(shí)現(xiàn)值機(jī)系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了c++實(shí)現(xiàn)在線值機(jī)系統(tǒng)程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評(píng)論