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

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

leecode 解題總結:36. Valid Sudoku

2019-11-10 18:56:17
字體:
來源:轉載
供稿:網友
#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;}
上一篇:QT配置文件入門

下一篇:最小長方形

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区二区精品| 91欧美精品成人综合在线观看| 久久成人在线视频| 亚洲free嫩bbb| 91精品久久久久久综合乱菊| 亚洲人精品午夜在线观看| 成人性生交xxxxx网站| 日韩乱码在线视频| 亚洲高清一二三区| 九九九久久国产免费| 91国产美女在线观看| 91天堂在线视频| 欧美性猛交99久久久久99按摩| 成人网在线免费看| 国产亚洲精品美女久久久久| 日韩一区二区三区国产| 亚洲精品美女在线观看| 久久久久久91| 国产成+人+综合+亚洲欧洲| 中文国产亚洲喷潮| 亚洲国产又黄又爽女人高潮的| 亚洲tv在线观看| 欧美激情视频网| 一区二区欧美在线| 国产91对白在线播放| 精品国产欧美一区二区五十路| 91精品国产777在线观看| 国产91对白在线播放| 国产一区二区三区毛片| 亚洲午夜小视频| 一区二区av在线| 色噜噜狠狠狠综合曰曰曰| 国产中文日韩欧美| 亚洲日本中文字幕| 日韩欧美国产骚| 91夜夜揉人人捏人人添红杏| 一区二区中文字幕| 久久伊人精品视频| 日韩av综合网| 国产在线不卡精品| 综合激情国产一区| 亚洲欧美一区二区精品久久久| 国产欧美精品xxxx另类| 亚洲欧美一区二区三区情侣bbw| 亚洲小视频在线观看| 狠狠躁夜夜躁人人躁婷婷91| 欧美午夜精品久久久久久浪潮| 午夜精品久久久久久久白皮肤| 久久久久国产视频| 亚洲精品短视频| 色七七影院综合| 亚洲成人性视频| 欧美天天综合色影久久精品| 亚洲欧美日韩精品| 久久精品国产欧美亚洲人人爽| 欧美激情高清视频| 中文字幕在线看视频国产欧美在线看完整| 97色在线观看| 亚洲理论电影网| 中文亚洲视频在线| 最近免费中文字幕视频2019| 色综合久久悠悠| 狠狠躁夜夜躁人人爽天天天天97| 日韩成人免费视频| 9.1国产丝袜在线观看| 精品国产网站地址| 国产日产亚洲精品| 两个人的视频www国产精品| 久久精品久久久久| 国产成人精品久久二区二区91| 国产成人自拍视频在线观看| 色综合伊人色综合网站| 国产欧美一区二区三区在线看| 91成人免费观看网站| 日韩国产在线看| 亚洲国产美女精品久久久久∴| 亚洲伊人久久大香线蕉av| 午夜精品99久久免费| 久久人人爽人人爽人人片亚洲| 亚洲另类图片色| 亚洲激情中文字幕| 欧美色道久久88综合亚洲精品| 成年无码av片在线| 精品无码久久久久久国产| 91精品视频在线免费观看| 日韩成人网免费视频| 97色在线视频| 欧美三级欧美成人高清www| 国产精品www| 国产精品黄页免费高清在线观看| 久久综合88中文色鬼| 国产一区二区在线播放| 永久555www成人免费| 国色天香2019中文字幕在线观看| 亚洲毛片在线免费观看| 国产日韩欧美综合| 国产精品亚洲精品| 欧美一区二区.| 色婷婷亚洲mv天堂mv在影片| 亚洲无限乱码一二三四麻| 亚洲а∨天堂久久精品9966| 国产精品99久久久久久人| 青青在线视频一区二区三区| 国产一区二区三区欧美| 亚洲福利影片在线| 日韩一区在线视频| 九九精品在线观看| 亚洲成人精品久久| 欧美野外wwwxxx| 欧美中文字幕在线| 中文字幕欧美国内| 亚洲精品日韩丝袜精品| 91精品国产综合久久香蕉最新版| 国产成人精品视| 亚洲精品日韩久久久| 精品国产一区二区三区久久| 国产精品久久久久久超碰| 成人免费在线视频网站| 亚洲一区二区三区在线免费观看| 亚洲精品国产精品国产自| 亚洲欧美在线x视频| 亚洲色图五月天| 亚洲国产小视频在线观看| 国产精品一区二区性色av| 在线视频一区二区| 在线播放日韩av| 欧美高清无遮挡| 久青草国产97香蕉在线视频| 欧美成在线视频| 中文字幕日韩精品有码视频| 91福利视频在线观看| 亚洲精品电影久久久| 日韩av大片在线| 亚洲国产婷婷香蕉久久久久久| 亚洲天堂免费在线| 欧美另类老肥妇| 曰本色欧美视频在线| 久久精品亚洲国产| 久久中文字幕一区| 538国产精品视频一区二区| 亚洲成人av中文字幕| 久久国产精品偷| 国产成人亚洲综合91精品| 亚洲国产精品福利| 国产精品扒开腿爽爽爽视频| 亚洲国产欧美在线成人app| 亚洲第一视频在线观看| 国产男女猛烈无遮挡91| 国产精品丝袜久久久久久不卡| 欧美美女操人视频| 国产日韩欧美在线播放| 51视频国产精品一区二区| 欧美巨大黑人极品精男| 欧美怡春院一区二区三区| 日韩av免费网站| 亚洲天堂免费在线| 韩国精品美女www爽爽爽视频| 黑丝美女久久久| 91av在线视频观看| 国产精品久久久久免费a∨| 欧美一区视频在线| 91超碰中文字幕久久精品| 国产精品色视频| 成人黄色激情网|