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

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

leecode 解題總結:36. Valid Sudoku

2019-11-10 18:46:29
字體:
來源:轉載
供稿:網友
#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在线网站视频| 色狠狠久久aa北条麻妃| 精品人伦一区二区三区蜜桃免费| 国产综合视频在线观看| 亚洲最大福利视频| 久久精品这里热有精品| 色婷婷av一区二区三区在线观看| 精品国产欧美一区二区三区成人| 久久久电影免费观看完整版| 色综合久久天天综线观看| 国产日韩精品在线播放| 日韩精品亚洲元码| 91精品一区二区| 欧美www在线| 日韩专区在线播放| 国产成人亚洲综合青青| 欧美激情一区二区三区久久久| 91国语精品自产拍在线观看性色| 日韩高清a**址| 久久久久久噜噜噜久久久精品| 俺去亚洲欧洲欧美日韩| 96精品久久久久中文字幕| 日韩免费av在线| 亚洲色图日韩av| 精品国模在线视频| 6080yy精品一区二区三区| 久久精品一区中文字幕| 国产精品视频大全| 全亚洲最色的网站在线观看| 国产精品444| 国产三级精品网站| 欧美做爰性生交视频| 91黑丝高跟在线| 国产精品久久久久不卡| 欧美精品在线免费观看| 欧美成人高清视频| 日韩欧美在线视频日韩欧美在线视频| 亚洲男人天堂九九视频| 欧美日本在线视频中文字字幕| 欧美午夜视频一区二区| 在线视频日韩精品| 国产午夜精品美女视频明星a级| 国外色69视频在线观看| 国产精品一区二区性色av| 日韩三级成人av网| 色偷偷av一区二区三区| 国产99在线|中文| 亚洲欧美一区二区三区四区| 国产69精品久久久久9| 91久久久亚洲精品| 国产成人精品久久久| 欧美日韩国产黄| 日韩av最新在线观看| 日韩精品免费在线观看| 这里精品视频免费| 中文字幕日韩欧美在线视频| 日韩成人在线播放| 国产精品视频网址| 久久久综合av| 亚洲国产精品人人爽夜夜爽| 国产精品免费看久久久香蕉| 亚洲人a成www在线影院| 精品久久久久久中文字幕一区奶水| 欧美自拍大量在线观看| 久久精品国产2020观看福利| 国产精品老女人视频| 精品日韩美女的视频高清| 777午夜精品福利在线观看| 日韩精品欧美激情| 亚洲精品久久久久久久久久久久久| 亚洲天堂成人在线| 在线日韩av观看| 午夜伦理精品一区| 高清在线视频日韩欧美| 欧美亚洲视频在线观看| 成人a免费视频| 欧美韩日一区二区| 国产精品久久久久久久7电影| 91av在线国产| 国产精品久久中文| 丝袜亚洲欧美日韩综合| 亚洲一区精品电影| 一本久久综合亚洲鲁鲁| 日韩av免费一区| 日韩精品在线免费观看| 狠狠躁夜夜躁人人躁婷婷91| 91久久精品国产91性色| 色综合老司机第九色激情| 国产精品久久久久久久7电影| 日韩精品欧美国产精品忘忧草| 日韩精品极品视频| 亚洲精品综合久久中文字幕| 国产精品无码专区在线观看| 欧美日韩第一页| 色偷偷噜噜噜亚洲男人的天堂| 国产精品视频26uuu| 日本一区二区在线播放| 久久精品成人欧美大片古装| 欧美超级免费视 在线| 日韩精品极品视频免费观看| 亚洲天堂网站在线观看视频| 亚洲欧美国产一区二区三区| 亚洲综合最新在线| 亚洲国产精品人人爽夜夜爽| 久久久999成人| 国产精品成人国产乱一区| 777精品视频| 色久欧美在线视频观看| 国产精品专区h在线观看| 久久精品国产69国产精品亚洲| 亚洲一区亚洲二区亚洲三区| 一区二区在线视频| xxav国产精品美女主播| 国产精品av在线播放| 成人午夜黄色影院| 亚洲成人黄色在线| 国产精品久久77777| 亚洲免费人成在线视频观看| 国产人妖伪娘一区91| 国产午夜精品视频免费不卡69堂| 在线播放亚洲激情| 中文字幕在线看视频国产欧美在线看完整| 97在线看免费观看视频在线观看| 久久久av免费| 亚洲女同性videos| 欧美精品成人91久久久久久久| 亚洲欧美色婷婷| 中文字幕少妇一区二区三区| 狠狠久久五月精品中文字幕| 日本欧美中文字幕| 亚洲另类欧美自拍| 不用播放器成人网| 国产精品亚洲精品| 欧美日韩在线第一页| 亚洲xxx视频| 国产亚洲一区精品| 欧美激情中文网| 成人在线免费观看视视频| 成人a在线视频| 97碰碰碰免费色视频| 九九九热精品免费视频观看网站| 欧美成人精品一区二区三区| 午夜精品福利在线观看| 国产精品露脸av在线| 色综合视频网站| 欧美午夜宅男影院在线观看| 国产精品久久久久久久久久尿| 这里只有精品视频在线| 亚州av一区二区| 亚洲欧美资源在线| 91精品国产高清久久久久久91| 裸体女人亚洲精品一区| 91日本在线视频| 国产免费观看久久黄| 国产在线观看一区二区三区| 日本道色综合久久影院| xvideos亚洲| 精品久久久久国产| 91精品久久久久久久久久入口| 成人黄色网免费| 在线播放国产一区二区三区| 欧美在线视频免费观看| 最近日韩中文字幕中文| 亚洲国模精品一区|