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

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

leecode 解題總結:36. Valid Sudoku

2019-11-10 18:30:49
字體:
來源:轉載
供稿:網友
#include <iostream>#include <stdio.h>#include <vector>#include <string>#include <fstream>using namespace std;/*問題:Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.The Sudoku board could be partially filled, where empty cells are filled with the character '.'.A partially filled sudoku which is valid.Note:A valid Sudoku board (partially filled) is not necessarily solvable. Only the filled cells need to be validated.分析:實質就是根據現有數獨中已經填充的數字,計算是否有解。數獨中每一行和每一列必須包含1~9的數字3*3的數組中必須包含1~9每個數字。此題關鍵是從何處開始遍歷,判斷是否能夠組成數組:采用每橫或每豎列是否每個數字只出現一次,對于每個棋盤判斷每個數字是否只出現一次;一旦不符合,重新嘗試填新的數字。實際上就是遞歸來做。關鍵是填充新的數字必須滿足已有條件:1:填充的數字已有出現次數不能超過總數題目中說判斷一個數獨棋盤是否有效,不需要一定有解,只需要判定該棋盤是否滿足其規則采用暴力破解:遍歷每一行,每一列分別看每個元素是否出現次數<=1次,輸入:9(數獨的長度,寬度與之相等)53..7....6..195....98....6.8...6...34..8.3..17...2...6.6....28....419..5....8..79輸出:yes關鍵:1 判斷子棋盤是否有效,可以遍歷一遍棋盤,每次計算出子棋盤的編號k=i /3 * 3 + j / 3例如(0,5)在第2個棋盤中,對應下標為1for(int i = 0 ; i < size ; i++){	for(int j = 0 ; j < size ; j++ )	{		if('.' == board.at(i).at(j))		{			continue;		}		//計算子棋盤編號		subBoard = i / 3 * 3 + j /3 ;		num = board[i][j] - '0' - 1;//多減1是因為下標從0開始		if(usedRow[i][num] || usedCol[j][num] || usedSubBoard[subBoard][num])		{			return false;		}		usedRow[i][num] = usedCol[j][num] = usedSubBoard[subBoard][num] = 1;	}}*/class Solution{public:	bool isValidSudoku(vector<vector<char> > &board)	{		if(board.empty())		{			return false;		}		int size = board.size();		int usedRow[9][9] = {0};		int usedCol[9][9] = {0};		int usedSubBoard[9][9] = {0};		int subBoard;		int num;		for(int i = 0 ; i < size ; i++)		{			for(int j = 0 ; j < size ; j++ )			{				if('.' == board.at(i).at(j))				{					continue;				}				//計算子棋盤編號				subBoard = i / 3 * 3 + j /3 ;				num = board[i][j] - '0' - 1;//多減1是因為下標從0開始				if(usedRow[i][num] || usedCol[j][num] || usedSubBoard[subBoard][num])				{					return false;				}				usedRow[i][num] = usedCol[j][num] = usedSubBoard[subBoard][num] = 1;			}		}		return true;	}};vector<string> readFile(string& fileName){	vector<string> results;	if(fileName.empty())	{		return results;	}	ifstream file(fileName , ios::in);	if(!file)	{		cout << "can't open file" << endl;		return results;	}	const int maxSize = 1024;	char str[maxSize];	while(!file.eof())	{		file.getline(str , maxSize);		string s(str);		results.push_back(s);	}	file.close();	return results;}void PRocess(){	vector< vector<char> > board;	string s;	int size;	Solution solution;	board.clear();	vector<string> strs = readFile(string("data.txt"));	int len = strs.size();	for(int i = 0 ; i < len ; i++)	{		s = strs.at(i);		vector<char> str;		size = s.length();		for(int i = 0 ; i < size ; i++)		{			str.push_back(s.at(i));		}		board.push_back(str);	}	bool result = solution.isValidSudoku(board);	if(result)	{		cout << "yes" << endl;	}	else	{		cout << "no" << endl;	}}int main(int argc , char* argv[]){	process();	getchar();	return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
北条麻妃久久精品| 91精品视频在线看| …久久精品99久久香蕉国产| 亚洲美女自拍视频| 欧美丰满少妇xxxxx做受| 国产欧美在线播放| 欧美专区第一页| 亚洲综合一区二区不卡| 久久视频这里只有精品| 欧美xxxx18性欧美| 91av在线播放视频| 亚洲一区美女视频在线观看免费| 91亚洲国产精品| 日韩av电影在线免费播放| 国产精品夫妻激情| 57pao成人永久免费视频| 91在线视频导航| 国产综合福利在线| 欧洲中文字幕国产精品| 欧美日韩国产中文字幕| 这里只有精品久久| 欧美精品18videosex性欧美| 亚洲国产精品中文| 久久国产一区二区三区| 另类少妇人与禽zozz0性伦| 精品国产一区二区三区久久久| 久久免费高清视频| 国产成人亚洲综合91| 国产主播喷水一区二区| 亚洲最大福利视频网站| 国产日韩av在线播放| 韩国三级电影久久久久久| 欧美刺激性大交免费视频| 亚洲美女精品成人在线视频| 亚洲va欧美va国产综合久久| 久久夜精品香蕉| 91影视免费在线观看| 91在线免费看网站| 在线成人免费网站| 国产精品成人一区二区| 日韩国产中文字幕| 日韩在线观看免费高清| 国产精品你懂得| 国产色婷婷国产综合在线理论片a| 亚洲最大福利网站| 日韩一区二区久久久| 国产精品夫妻激情| 亚洲系列中文字幕| 欧美视频免费在线观看| 国产成人拍精品视频午夜网站| 国产色视频一区| 亚洲精品不卡在线| 欧美黑人xxxⅹ高潮交| 91精品国产九九九久久久亚洲| 精品久久香蕉国产线看观看gif| 国产成人亚洲综合青青| 亚洲视频999| 久久这里只有精品99| 亚洲精品久久7777777| 久久视频免费在线播放| 久久国内精品一国内精品| 91av在线免费观看视频| 日韩电影中文字幕在线观看| 欧美激情视频在线观看| 亚洲欧美一区二区精品久久久| 欧美激情国产日韩精品一区18| 亚洲日韩中文字幕在线播放| 中文字幕国产精品| 国产91精品久| 久久久久一本一区二区青青蜜月| 日韩高清免费观看| 欧美日韩国产精品一区二区不卡中文| 久久人91精品久久久久久不卡| 国产精品69精品一区二区三区| 日本免费一区二区三区视频观看| 7m精品福利视频导航| 96精品视频在线| 欧美日韩一区二区三区在线免费观看| 亚洲黄页视频免费观看| 国产精品久久久精品| 91色中文字幕| 亚洲美女精品成人在线视频| 青青久久av北条麻妃黑人| 岛国视频午夜一区免费在线观看| 亚洲欧美成人在线| 欧美国产精品va在线观看| 精品毛片三在线观看| 深夜福利日韩在线看| 日韩极品精品视频免费观看| 黑人与娇小精品av专区| 亚洲欧洲自拍偷拍| 国产精品色视频| 国产精品午夜一区二区欲梦| 成人精品一区二区三区电影黑人| 亚洲精品短视频| 国产主播喷水一区二区| 成人免费视频97| 欧美国产日韩视频| 亚洲欧洲日产国产网站| 日韩美女写真福利在线观看| 亚洲乱码一区av黑人高潮| 琪琪亚洲精品午夜在线| 亚洲欧洲一区二区三区久久| 日韩电影中文字幕一区| 亚洲国语精品自产拍在线观看| 一二美女精品欧洲| 亚洲午夜性刺激影院| 欧美中文字幕在线播放| 亚洲电影中文字幕| 欧美日韩国产在线| 国产91对白在线播放| 欧美一区二区三区四区在线| 亚洲人成电影网站色xx| 亚洲国产精品视频在线观看| 欧美精品电影免费在线观看| 欧美精品久久久久久久久久| 91亚洲国产精品| 日韩在线小视频| 国产有码一区二区| 亚洲国产精品99| 午夜精品一区二区三区av| 日韩精品在线私人| 国产91av在线| 97人人做人人爱| 欧美激情一级精品国产| 久久视频这里只有精品| 国产91精品黑色丝袜高跟鞋| 亚洲精品中文字幕有码专区| 欧美激情亚洲一区| 欧洲亚洲在线视频| 555www成人网| 中文字幕日韩在线观看| 精品一区二区三区电影| 国产有码在线一区二区视频| 精品日韩美女的视频高清| 欧美日韩另类字幕中文| 精品国产91乱高清在线观看| 午夜精品一区二区三区在线视| 色伦专区97中文字幕| 国产精品一区二区三| 国产欧美一区二区三区久久| 欧美成人在线免费| 日本午夜在线亚洲.国产| 欧美高清在线播放| 久久精品中文字幕一区| 伊人精品在线观看| 日韩精品视频在线播放| 欧美在线观看网站| 中文字幕一区电影| 亚洲天堂av在线免费| 韩剧1988在线观看免费完整版| www.久久草.com| 日韩天堂在线视频| 91黑丝在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲国产精品免费| 日韩极品精品视频免费观看| 国产精品久久久久久久久| 久久97精品久久久久久久不卡| 琪琪亚洲精品午夜在线| 国产精品入口尤物| 欧美黄色片在线观看| 国产精品福利无圣光在线一区| 国产精品久久久久久久午夜|