#include
#include //stl 雙端佇列容器
#include
#include"pos.h"
using namespace std;
ofstream fout("sudoku.txt");
deque d;
int lay(deque & d);
int checkout(pos p, int n);
int sudoku[9][9] = ,,,
,,,,
,,};void main()
cout << sudoku[i][j] << " ";
fout<}
cout << " ";
fout<<" ";
cout << endl;
fout<<"\n";
if ( (i+1) % 3 == 0 )
}fout<<"完成之後的九宮格:\n";
cout<<"完成之後的九宮格:"lay(d);//往空著的地方填寫,並且輸出完成之後的九宮格
}int lay(deque & d)
cout << sudoku[i][j] << " ";
fout< }
cout << " ";
fout<<" ";
cout << endl;
fout<<"\n";
if ( (i+1) % 3 == 0 )
}return true;
} pos sodu(d.front().row, d.front().col);
// 當前需要放置的位置資訊,容器中首元素的行和列,呼叫帶引數的建構函式
d.pop_front();//刪除雙端佇列之中最前面的乙個元素
for (int i = 1; i <= 9; i++)// 從1到9不斷的嘗試數字是否合適,i代表要放置的數字
}d.push_front(sodu);
//當前位置不論怎麼放置數字,下一位置都無法放置成功,
// 重新插入該位置資訊,返回上一級放置位置。雙端佇列頭部增加乙個元素
return false;
}int checkout(pos p, int n)//檢驗要放置的數字是否合適,n代表不斷地嘗試去放入其中的數字
}
int g_row = ( c_row / 3 ) * 3;// 驗證3*3格仔內是否有重複的數字
int g_col = ( c_col / 3 ) * 3;
for (int i = 0; i < 2; i++)
}return true;
}
2016 11 25 九宮格問題
題目大意 數獨規則點這裡 注意可以有格仔是空的。空的格仔用 表示。方法一.位運算 知道了這個之後,就很好辦啦。因為數字只有九個,而且不允許重複出現。直接想到位運算!表示當前數字,只需要把1向右移動當前數字位。然後設定乙個狀態變數,儲存當前有多少數字出現過。把他們相與,如果為0說明此數字還沒出現過,就...
九宮格為問題
在 射鵰英雄傳 中黃蓉曾破解九宮格,口訣 戴九履一,左三右七,二四有肩,八六為足,五居 有口訣的!一居上行正 依次斜填莫相忘,上出框時向下放,右出框時向左放,排重編在下格放,右上排重乙個樣。重排九宮 有兩種玩法 第一種是在在3 3方格盤上,是把1至8八個小木塊隨意擺放,每一空格其周圍的數字可移至空格...
九宮格布局
2009 08 25 15 15 27 九宮格是一種比較古老的設計,它最基本的表現其實就像是乙個三行三列的 其實它最初是在window的c s結構中用得比較多,比如我們經常看 到軟體中的乙個窗體,其實就是乙個九宮格的典型應用,因為窗體需要在八個方向拉伸,所以在c s軟體中大量採用這種技術來布局設計。...