亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

POJ 2676 Sudoku1 (DFS)

2019-11-11 02:14:00
字體:
來源:轉載
供稿:網友

Description

Sudoku is a very simple task. A square table with 9 rows and 9 columns is divided to 9 smaller squares 3x3 as shown on the Figure. In some of the cells are written decimal digits from 1 to 9. The other cells are empty. The goal is to fill the empty cells with decimal digits from 1 to 9, one digit per cell, in such way that in each row, in each column and in each marked 3x3 subsquare, all the digits from 1 to 9 to appear. Write a PRogram to solve a given Sudoku-task.

img

Input

The input data will start with the number of the test cases. For each test case, 9 lines follow, corresponding to the rows of the table. On each line a string of exactly 9 decimal digits is given, corresponding to the cells in this line. If a cell is empty it is represented by 0.

Output

For each test case your program should print the solution in the same format as the input data. The empty cells have to be filled according to the rules. If solutions is not unique, then the program may print any one of them.

Sample Input

1103000509002109400000704000300502006060000050700803004000401000009205800804000107

Sample Output

143628579572139468986754231391542786468917352725863914237481695619275843854396127

題意

給出一個16*16矩陣的部分格,其中0為空格,要求填充這些空格。

使矩陣滿足橫豎和九個3*3的方格內的數字都包含1~9這9個數字。

思路

很基礎的DFS,先存儲當前每行每列和每塊的數字狀態,然后從左上角開始搜索,遇到零的時候向該點填充一個當前行、當前列、當前塊都不存在的一個數字,若無法填充,則結束此層DFS,若可行,繼續搜索下一層,直到搜索到右下角,標記已經找到答案,此時結束所有DFS,注意在結束的過程中要保留當前所填充的矩陣。

AC 代碼

#include<iostream>#include<algorithm>#include<stdio.h>#include<string.h>#include<iostream>using namespace std;int mapp[9][9]; //存儲當前狀態bool isx[9][10],isy[9][10],iss[3][3][10],flag; //行、列、塊判斷void dfs(int y){ if(y>=9) //最后一個數是0的情況下若遞歸到這里,則說明全部填充完畢 { flag=true; return; } for(int i=y; i<9; i++) //從第y行開始,遍歷剩下的點 for(int j=0; j<9; j++) { if(mapp[i][j]==0) //一個需要判斷的點 { bool isc=false; //這一點是否可以被填充 for(int k=1; k<=9; k++) //1-9 if(!isx[j][k]&&!isy[i][k]&&!iss[i/3][j/3][k]) //三種情況都滿足 { isc=true; //假設可以填充 mapp[i][j]=k; //填充的數是k isx[j][k]=isy[i][k]=iss[i/3][j/3][k]=true; //標記該位置 dfs(j!=8?y:y+1); if(flag)return; //找到答案返回,放在這里可以防止在層層結束遞歸的時候狀態被還原 else isc=false; //下層遞歸失敗,標記該點不能填充 mapp[i][j]=0; //還原狀態 isx[j][k]=isy[i][k]=iss[i/3][j/3][k]=false; } if(!isc)return; } else if(i==8&&j==8) //最后一個點不是0的情況 { flag=true; return; } }}int main(){ int n; scanf("%d",&n); for(int ni=0; ni<n; ni++) { memset(isx,false,sizeof(isx)); memset(isy,false,sizeof(isy)); memset(iss,false,sizeof(iss)); flag=false; for(int i=0; i<9; i++) for(int j=0; j<9; j++) { scanf("%1d",&mapp[i][j]); if(mapp[i][j]) { isx[j][mapp[i][j]]=true; isy[i][mapp[i][j]]=true; iss[i/3][j/3][mapp[i][j]]=true; } } dfs(0); for(int i=0; i<9; i++) for(int j=0; j<9; j++) printf(j!=8?"%d":"%d/n",mapp[i][j]); } return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91成人国产在线观看| 午夜欧美大片免费观看| 中文字幕欧美亚洲| 92国产精品视频| 粉嫩老牛aⅴ一区二区三区| 欧美精品中文字幕一区| 夜夜嗨av一区二区三区四区| 亚洲午夜精品久久久久久性色| 午夜精品一区二区三区在线视频| 欧美日韩国产999| 亚洲小视频在线观看| 91大神福利视频在线| 日韩欧美视频一区二区三区| 色视频www在线播放国产成人| 欧美激情videos| 国产综合在线看| 国产成人精品免费久久久久| 国产精品一区二区3区| 亚洲福利在线观看| 成人午夜黄色影院| 欧美第一黄色网| 日本精品视频在线观看| 中文字幕精品久久久久| 国产欧美精品久久久| 一夜七次郎国产精品亚洲| 欧美极度另类性三渗透| 成人免费视频97| 久久久www成人免费精品| 热99精品只有里视频精品| 成人亚洲欧美一区二区三区| 最新69国产成人精品视频免费| 97精品国产97久久久久久春色| 51色欧美片视频在线观看| 欧美激情综合亚洲一二区| 伊人男人综合视频网| 日本成人在线视频网址| 国自在线精品视频| 久久国产精品首页| 久久国产天堂福利天堂| 最近2019年日本中文免费字幕| 久久久精品一区二区三区| 亚洲欧美制服丝袜| 欧美大片在线看| 亚洲精品720p| 91精品国产综合久久久久久久久| 国产视频精品久久久| 一区二区三区视频免费在线观看| 国产欧美日韩专区发布| 91欧美精品成人综合在线观看| 欧美自拍大量在线观看| 国产成人精品a视频一区www| 中文字幕日韩欧美在线| 欧美最顶级丰满的aⅴ艳星| xx视频.9999.com| 欧美性色视频在线| 亚洲日本欧美日韩高观看| 国产精品电影网| 日韩免费观看视频| 国产精品欧美日韩| 亚洲一区第一页| 精品国产成人在线| 91av中文字幕| 国产高清在线不卡| 国产精品流白浆视频| 日本一欧美一欧美一亚洲视频| 久久av资源网站| 国产亚洲成av人片在线观看桃| 一道本无吗dⅴd在线播放一区| 美女撒尿一区二区三区| 国产美女精品视频免费观看| 亚洲情综合五月天| 日韩成人在线免费观看| 欧美成人免费大片| 日韩欧美在线看| 欧美极品少妇xxxxx| 国产美女91呻吟求| 日韩在线小视频| 国产精品综合久久久| 国产亚洲精品久久久久久| 国产精品久久久久7777婷婷| 亚洲高清色综合| 精品久久久久久久久国产字幕| 亚洲精品91美女久久久久久久| 国产亚洲激情在线| 日韩在线中文视频| 国产一区二区三区在线看| 中文字幕久久久| 亚洲国产精品悠悠久久琪琪| 久久亚洲国产成人| 中文字幕免费国产精品| 欧美激情亚洲另类| 欧美激情xxxxx| 日韩高清有码在线| 国产精品你懂得| 久久久久久亚洲精品| 欧美激情在线狂野欧美精品| 亚洲欧美国产另类| 亚洲福利在线观看| 亚洲成avwww人| 久久久伊人日本| 国产精品海角社区在线观看| 国产91在线播放精品91| 91精品国产综合久久香蕉922| 亚洲国产精品yw在线观看| 岛国av一区二区在线在线观看| 国产aⅴ夜夜欢一区二区三区| 青草热久免费精品视频| 日本久久精品视频| 国产精品成人aaaaa网站| 国产欧美日韩丝袜精品一区| 欧美视频不卡中文| 午夜精品久久久久久久久久久久| 国产视频丨精品|在线观看| 亚洲国产精品va在线| 国产精品日日摸夜夜添夜夜av| 久久久精品一区| 欧美在线免费视频| 国产精品视频白浆免费视频| 66m—66摸成人免费视频| 亚洲自拍小视频免费观看| 欧美午夜精品久久久久久人妖| 日韩h在线观看| 亚洲性无码av在线| 91久久国产精品| 久久久久九九九九| 亚洲午夜久久久久久久| 中文字幕日韩精品在线| 青青草精品毛片| 成人av在线天堂| 亚洲欧美日韩精品久久奇米色影视| 日韩精品高清在线观看| 欧美专区国产专区| 中文字幕在线看视频国产欧美| 中文亚洲视频在线| 国产精品aaa| 欧美激情按摩在线| 黄色成人av在线| 国产在线视频2019最新视频| 日本不卡高字幕在线2019| 欧美性猛交xxxx黑人猛交| 国产日韩精品综合网站| 亚洲自拍小视频| 国产精品99久久久久久www| 8090理伦午夜在线电影| 亚洲无线码在线一区观看| 国产偷国产偷亚洲清高网站| 国产日本欧美视频| 亚洲视频在线观看| 中文字幕亚洲色图| 国产97在线|日韩| 欧美在线精品免播放器视频| 亚洲欧美日韩精品| 久久精品99久久久久久久久| 国产成人精品网站| 欧美午夜精品伦理| www.xxxx精品| 亚洲欧洲一区二区三区久久| 亚洲a中文字幕| 欧美精品电影在线| 日韩中文在线中文网在线观看| 亚洲自拍偷拍第一页| 日韩一区视频在线| 91在线观看免费高清| 亚洲欧美日韩天堂一区二区|