mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-03-23 21:32:09 +08:00
Documentation for 9a78d69083
This commit is contained in:
@@ -120,12 +120,12 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:a80af16e57cfb6aaab2bf1da4c4db3308"><td class="memTemplParams" colspan="2">template<size_t V> </td></tr>
|
||||
<tr class="memitem:a80af16e57cfb6aaab2bf1da4c4db3308"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/dc0/namespacebacktracking.html#a80af16e57cfb6aaab2bf1da4c4db3308">backtracking::isPossible</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &mat, int i, int j, int no, int n)</td></tr>
|
||||
<tr class="separator:a80af16e57cfb6aaab2bf1da4c4db3308"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4664b23ed7939e3df1c0cb23013eec0c"><td class="memTemplParams" colspan="2">template<size_t V> </td></tr>
|
||||
<tr class="memitem:a4664b23ed7939e3df1c0cb23013eec0c"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/dc0/namespacebacktracking.html#a4664b23ed7939e3df1c0cb23013eec0c">backtracking::printMat</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &mat, int n)</td></tr>
|
||||
<tr class="separator:a4664b23ed7939e3df1c0cb23013eec0c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af6b62cbc209d7e13ffca0ab3ed3392b6"><td class="memTemplParams" colspan="2">template<size_t V> </td></tr>
|
||||
<tr class="memitem:af6b62cbc209d7e13ffca0ab3ed3392b6"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/dc0/namespacebacktracking.html#af6b62cbc209d7e13ffca0ab3ed3392b6">backtracking::solveSudoku</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &mat, int i, int j)</td></tr>
|
||||
<tr class="separator:af6b62cbc209d7e13ffca0ab3ed3392b6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae1a76e21cb3934368d01cea7672d3906"><td class="memTemplParams" colspan="2">template<size_t V> </td></tr>
|
||||
<tr class="memitem:ae1a76e21cb3934368d01cea7672d3906"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/dc0/namespacebacktracking.html#ae1a76e21cb3934368d01cea7672d3906">backtracking::printMat</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &mat, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &starting_mat, int n)</td></tr>
|
||||
<tr class="separator:ae1a76e21cb3934368d01cea7672d3906"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2b98ee79cdbc02ffd7b1f786f9696892"><td class="memTemplParams" colspan="2">template<size_t V> </td></tr>
|
||||
<tr class="memitem:a2b98ee79cdbc02ffd7b1f786f9696892"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/dc0/namespacebacktracking.html#a2b98ee79cdbc02ffd7b1f786f9696892">backtracking::solveSudoku</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &mat, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &starting_mat, int i, int j)</td></tr>
|
||||
<tr class="separator:a2b98ee79cdbc02ffd7b1f786f9696892"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d7b/sudoku__solve_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
|
||||
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
@@ -152,26 +152,27 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Main function </p>
|
||||
<div class="fragment"><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  {</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> V = 9;</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <std::array <int, V></a>, V> mat = { </div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {5, 3, 0, 0, 7, 0, 0, 0, 0},</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {6, 0, 0, 1, 9, 5, 0, 0, 0},</div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {0, 9, 8, 0, 0, 0, 0, 6, 0},</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {8, 0, 0, 0, 6, 0, 0, 0, 3},</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {4, 0, 0, 8, 0, 3, 0, 0, 1},</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {7, 0, 0, 0, 2, 0, 0, 0, 6},</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {0, 6, 0, 0, 0, 0, 2, 8, 0},</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {0, 0, 0, 4, 1, 9, 0, 0, 5},</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {0, 0, 0, 0, 8, 0, 0, 7, 9}</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  };</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  </div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  backtracking::printMat<V>(mat, 9);</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Solution "</span> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  backtracking::solveSudoku<V>(mat, 0, 0);</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  </div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
|
||||
<div class="fragment"><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> V = 9;</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <std::array <int, V></a>, V> mat = { </div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {5, 3, 0, 0, 7, 0, 0, 0, 0},</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {6, 0, 0, 1, 9, 5, 0, 0, 0},</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {0, 9, 8, 0, 0, 0, 0, 6, 0},</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {8, 0, 0, 0, 6, 0, 0, 0, 3},</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {4, 0, 0, 8, 0, 3, 0, 0, 1},</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {7, 0, 0, 0, 2, 0, 0, 0, 6},</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {0, 6, 0, 0, 0, 0, 2, 8, 0},</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {0, 0, 0, 4, 1, 9, 0, 0, 5},</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <int, V></a> {0, 0, 0, 0, 8, 0, 0, 7, 9}</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  };</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  </div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  backtracking::printMat<V>(mat, mat, 9);</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Solution "</span> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array <std::array <int, V></a>, V> starting_mat = mat;</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  backtracking::solveSudoku<V>(mat, starting_mat, 0, 0);</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
@@ -2,6 +2,6 @@ var sudoku__solve_8cpp =
|
||||
[
|
||||
[ "isPossible", "d6/d7b/sudoku__solve_8cpp.html#a80af16e57cfb6aaab2bf1da4c4db3308", null ],
|
||||
[ "main", "d6/d7b/sudoku__solve_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
|
||||
[ "printMat", "d6/d7b/sudoku__solve_8cpp.html#a4664b23ed7939e3df1c0cb23013eec0c", null ],
|
||||
[ "solveSudoku", "d6/d7b/sudoku__solve_8cpp.html#af6b62cbc209d7e13ffca0ab3ed3392b6", null ]
|
||||
[ "printMat", "d6/d7b/sudoku__solve_8cpp.html#ae1a76e21cb3934368d01cea7672d3906", null ],
|
||||
[ "solveSudoku", "d6/d7b/sudoku__solve_8cpp.html#a2b98ee79cdbc02ffd7b1f786f9696892", null ]
|
||||
];
|
||||
@@ -151,12 +151,13 @@ $(document).ready(function(){initNavTree('d7/dba/cll_8h_source.html','../../');
|
||||
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="arat__maze_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../dc/d5a/rat__maze_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Test implementations.</div><div class="ttdef"><b>Definition:</b> rat_maze.cpp:84</div></div>
|
||||
<div class="ttc" id="avigenere__cipher_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../dd/d12/vigenere__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> vigenere_cipher.cpp:131</div></div>
|
||||
<div class="ttc" id="asudoku__solve_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d6/d7b/sudoku__solve_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> sudoku_solve.cpp:131</div></div>
|
||||
<div class="ttc" id="asudoku__solve_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d6/d7b/sudoku__solve_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> sudoku_solve.cpp:137</div></div>
|
||||
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html_a7ca10cd1a0e8e3732391e0427d2d0213"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213">ciphers::HillCipher::generate_encryption_key</a></div><div class="ttdeci">static matrix< int > generate_encryption_key(size_t size, int limit1=0, int limit2=10)</div><div class="ttdoc">Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid...</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:339</div></div>
|
||||
<div class="ttc" id="apair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a></div></div>
|
||||
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></div><div class="ttdoc">Implementation of Hill Cipher algorithm.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:81</div></div>
|
||||
<div class="ttc" id="anqueen__print__all__solutions_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> nqueen_print_all_solutions.cpp:98</div></div>
|
||||
<div class="ttc" id="an__queens_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d4/d3e/n__queens_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> n_queens.cpp:118</div></div>
|
||||
<div class="ttc" id="anamespacebacktracking_html_ae1a76e21cb3934368d01cea7672d3906"><div class="ttname"><a href="../../db/dc0/namespacebacktracking.html#ae1a76e21cb3934368d01cea7672d3906">backtracking::printMat</a></div><div class="ttdeci">void printMat(const std::array< std::array< int, V >, V > &mat, const std::array< std::array< int, V >, V > &starting_mat, int n)</div><div class="ttdef"><b>Definition:</b> sudoku_solve.cpp:67</div></div>
|
||||
<div class="ttc" id="arat__maze_8cpp_html_ab99107bfb4c6934cd4691868c66c0aa3"><div class="ttname"><a href="../../dc/d5a/rat__maze_8cpp.html#ab99107bfb4c6934cd4691868c66c0aa3">backtracking::rat_maze::solveMaze</a></div><div class="ttdeci">bool solveMaze(int currposrow, int currposcol, const std::array< std::array< int, size >, size > &maze, std::array< std::array< int, size >, size > soln)</div><div class="ttdoc">Solve rat maze problem.</div><div class="ttdef"><b>Definition:</b> rat_maze.cpp:45</div></div>
|
||||
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="afind_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/find.html">std::string::find</a></div><div class="ttdeci">T find(T... args)</div></div>
|
||||
@@ -165,6 +166,7 @@ $(document).ready(function(){initNavTree('d7/dba/cll_8h_source.html','../../');
|
||||
<div class="ttc" id="an__queens__all__solution__optimised_8cpp_html_a9e48455584a4faa33e83dd1891efd9b9"><div class="ttname"><a href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a9e48455584a4faa33e83dd1891efd9b9">backtracking::n_queens_optimized::CanIMove</a></div><div class="ttdeci">bool CanIMove(const std::array< std::array< int, n >, n > &board, int row, int col)</div><div class="ttdef"><b>Definition:</b> n_queens_all_solution_optimised.cpp:59</div></div>
|
||||
<div class="ttc" id="aclass_min_heap_html_a37ac126eabb0c3ce04047172abccca29"><div class="ttname"><a href="../../d2/d05/class_min_heap.html#a37ac126eabb0c3ce04047172abccca29">MinHeap::deleteKey</a></div><div class="ttdeci">void deleteKey(int i)</div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:105</div></div>
|
||||
<div class="ttc" id="anamespacebacktracking_html"><div class="ttname"><a href="../../db/dc0/namespacebacktracking.html">backtracking</a></div><div class="ttdoc">Backtracking algorithms.</div><div class="ttdef"><b>Definition:</b> graph_coloring.cpp:26</div></div>
|
||||
<div class="ttc" id="anamespacebacktracking_html_a2b98ee79cdbc02ffd7b1f786f9696892"><div class="ttname"><a href="../../db/dc0/namespacebacktracking.html#a2b98ee79cdbc02ffd7b1f786f9696892">backtracking::solveSudoku</a></div><div class="ttdeci">bool solveSudoku(std::array< std::array< int, V >, V > &mat, const std::array< std::array< int, V >, V > &starting_mat, int i, int j)</div><div class="ttdef"><b>Definition:</b> sudoku_solve.cpp:97</div></div>
|
||||
<div class="ttc" id="aclass_min_heap_html"><div class="ttname"><a href="../../d2/d05/class_min_heap.html">MinHeap</a></div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:10</div></div>
|
||||
<div class="ttc" id="aminimax_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../df/dfb/minimax_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> minimax.cpp:54</div></div>
|
||||
<div class="ttc" id="aclass_min_heap_html_ae4d358bf063bb196a1945b3fb99b4913"><div class="ttname"><a href="../../d2/d05/class_min_heap.html#ae4d358bf063bb196a1945b3fb99b4913">MinHeap::heap_size</a></div><div class="ttdeci">int heap_size</div><div class="ttdoc">Current number of elements in min heap.</div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:13</div></div>
|
||||
@@ -196,7 +198,6 @@ $(document).ready(function(){initNavTree('d7/dba/cll_8h_source.html','../../');
|
||||
<div class="ttc" id="aavltree_8cpp_html_aa7cd8a68075fae1c33df41233c1bed6a"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#aa7cd8a68075fae1c33df41233c1bed6a">insert</a></div><div class="ttdeci">node * insert(node *root, int item)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:66</div></div>
|
||||
<div class="ttc" id="agraph__coloring_8cpp_html_gae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d3/d40/graph__coloring_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> graph_coloring.cpp:96</div></div>
|
||||
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html_a5a4cdbd4d4dad9efe2ed309bd466dd4b"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b">ciphers::HillCipher::get_inverse</a></div><div class="ttdeci">static matrix< double > get_inverse(matrix< T > const &A)</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:250</div></div>
|
||||
<div class="ttc" id="anamespacebacktracking_html_a4664b23ed7939e3df1c0cb23013eec0c"><div class="ttname"><a href="../../db/dc0/namespacebacktracking.html#a4664b23ed7939e3df1c0cb23013eec0c">backtracking::printMat</a></div><div class="ttdeci">void printMat(const std::array< std::array< int, V >, V > &mat, int n)</div><div class="ttdef"><b>Definition:</b> sudoku_solve.cpp:66</div></div>
|
||||
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html_abb2c4dc2b8a59d3dfe0fa22c2adc086b"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b">ciphers::HillCipher::generate_decryption_key</a></div><div class="ttdeci">static matrix< int > generate_decryption_key(matrix< int > const &encrypt_key)</div><div class="ttdoc">Generate decryption matrix from an encryption matrix key.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:371</div></div>
|
||||
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
|
||||
<div class="ttc" id="ahash__search_8cpp_html_a566eaf0ffafd50bc61e644561fd27001"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#a566eaf0ffafd50bc61e644561fd27001">h</a></div><div class="ttdeci">int h(int key)</div><div class="ttdef"><b>Definition:</b> hash_search.cpp:45</div></div>
|
||||
@@ -250,7 +251,6 @@ $(document).ready(function(){initNavTree('d7/dba/cll_8h_source.html','../../');
|
||||
<div class="ttc" id="anamespacen__queens__optimized_html"><div class="ttname"><a href="../../d8/d14/namespacen__queens__optimized.html">n_queens_optimized</a></div><div class="ttdoc">Functions for Eight Queens puzzle optimized.</div></div>
|
||||
<div class="ttc" id="ahill__cipher_8cpp_html_aeff09ac6b8f060c828354394a3189519"><div class="ttname"><a href="../../d7/db9/hill__cipher_8cpp.html#aeff09ac6b8f060c828354394a3189519">operator<<</a></div><div class="ttdeci">static std::ostream & operator<<(std::ostream &out, matrix< T > const &v)</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:54</div></div>
|
||||
<div class="ttc" id="asize_t_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div></div>
|
||||
<div class="ttc" id="anamespacebacktracking_html_af6b62cbc209d7e13ffca0ab3ed3392b6"><div class="ttname"><a href="../../db/dc0/namespacebacktracking.html#af6b62cbc209d7e13ffca0ab3ed3392b6">backtracking::solveSudoku</a></div><div class="ttdeci">bool solveSudoku(std::array< std::array< int, V >, V > &mat, int i, int j)</div><div class="ttdef"><b>Definition:</b> sudoku_solve.cpp:91</div></div>
|
||||
<div class="ttc" id="amake_pair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">std::make_pair</a></div><div class="ttdeci">T make_pair(T... args)</div></div>
|
||||
<div class="ttc" id="atime_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a></div><div class="ttdeci">T time(T... args)</div></div>
|
||||
<div class="ttc" id="asetw_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/setw.html">std::setw</a></div><div class="ttdeci">T setw(T... args)</div></div>
|
||||
|
||||
@@ -123,12 +123,12 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:a80af16e57cfb6aaab2bf1da4c4db3308"><td class="memTemplParams" colspan="2">template<size_t V> </td></tr>
|
||||
<tr class="memitem:a80af16e57cfb6aaab2bf1da4c4db3308"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/dc0/namespacebacktracking.html#a80af16e57cfb6aaab2bf1da4c4db3308">isPossible</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &mat, int i, int j, int no, int n)</td></tr>
|
||||
<tr class="separator:a80af16e57cfb6aaab2bf1da4c4db3308"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4664b23ed7939e3df1c0cb23013eec0c"><td class="memTemplParams" colspan="2">template<size_t V> </td></tr>
|
||||
<tr class="memitem:a4664b23ed7939e3df1c0cb23013eec0c"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/dc0/namespacebacktracking.html#a4664b23ed7939e3df1c0cb23013eec0c">printMat</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &mat, int n)</td></tr>
|
||||
<tr class="separator:a4664b23ed7939e3df1c0cb23013eec0c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af6b62cbc209d7e13ffca0ab3ed3392b6"><td class="memTemplParams" colspan="2">template<size_t V> </td></tr>
|
||||
<tr class="memitem:af6b62cbc209d7e13ffca0ab3ed3392b6"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/dc0/namespacebacktracking.html#af6b62cbc209d7e13ffca0ab3ed3392b6">solveSudoku</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &mat, int i, int j)</td></tr>
|
||||
<tr class="separator:af6b62cbc209d7e13ffca0ab3ed3392b6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae1a76e21cb3934368d01cea7672d3906"><td class="memTemplParams" colspan="2">template<size_t V> </td></tr>
|
||||
<tr class="memitem:ae1a76e21cb3934368d01cea7672d3906"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/dc0/namespacebacktracking.html#ae1a76e21cb3934368d01cea7672d3906">printMat</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &mat, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &starting_mat, int n)</td></tr>
|
||||
<tr class="separator:ae1a76e21cb3934368d01cea7672d3906"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2b98ee79cdbc02ffd7b1f786f9696892"><td class="memTemplParams" colspan="2">template<size_t V> </td></tr>
|
||||
<tr class="memitem:a2b98ee79cdbc02ffd7b1f786f9696892"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/dc0/namespacebacktracking.html#a2b98ee79cdbc02ffd7b1f786f9696892">solveSudoku</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &mat, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > &starting_mat, int i, int j)</td></tr>
|
||||
<tr class="separator:a2b98ee79cdbc02ffd7b1f786f9696892"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Backtracking algorithms. </p>
|
||||
@@ -502,8 +502,8 @@ Here is the call graph for this function:</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a4664b23ed7939e3df1c0cb23013eec0c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a4664b23ed7939e3df1c0cb23013eec0c">◆ </a></span>printMat()</h2>
|
||||
<a id="ae1a76e21cb3934368d01cea7672d3906"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae1a76e21cb3934368d01cea7672d3906">◆ </a></span>printMat()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -516,6 +516,12 @@ template<size_t V> </div>
|
||||
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > & </td>
|
||||
<td class="paramname"><em>mat</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > & </td>
|
||||
<td class="paramname"><em>starting_mat</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
@@ -538,29 +544,34 @@ template<size_t V> </div>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">mat</td><td>matrix where numbers are saved </td></tr>
|
||||
<tr><td class="paramname">starting_mat</td><td>copy of mat, required by printMat for highlighting the differences </td></tr>
|
||||
<tr><td class="paramname">n</td><td>number of times loop will run </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  {</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < n; i++) {</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j < n; j++) {</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << mat[i][j] << <span class="stringliteral">" "</span>;</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">if</span> ((j + 1) % 3 == 0) {</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="charliteral">'\t'</span>;</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">if</span> ((i + 1) % 3 == 0) {</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < n; i++) {</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j < n; j++) {</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">if</span> (starting_mat[i][j] != mat[i][j]) {</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\033[93m"</span> << mat[i][j] << <span class="stringliteral">"\033[0m"</span> << <span class="stringliteral">" "</span>;</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << mat[i][j] << <span class="stringliteral">" "</span>;</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">if</span> ((j + 1) % 3 == 0) {</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="charliteral">'\t'</span>;</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">if</span> ((i + 1) % 3 == 0) {</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  }</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../db/dc0/namespacebacktracking_a4664b23ed7939e3df1c0cb23013eec0c_cgraph.svg" width="282" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../db/dc0/namespacebacktracking_ae1a76e21cb3934368d01cea7672d3906_cgraph.svg" width="282" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -709,8 +720,8 @@ Here is the call graph for this function:</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="af6b62cbc209d7e13ffca0ab3ed3392b6"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af6b62cbc209d7e13ffca0ab3ed3392b6">◆ </a></span>solveSudoku()</h2>
|
||||
<a id="a2b98ee79cdbc02ffd7b1f786f9696892"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a2b98ee79cdbc02ffd7b1f786f9696892">◆ </a></span>solveSudoku()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -723,6 +734,12 @@ template<size_t V> </div>
|
||||
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > & </td>
|
||||
<td class="paramname"><em>mat</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V > & </td>
|
||||
<td class="paramname"><em>starting_mat</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
@@ -751,6 +768,7 @@ template<size_t V> </div>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">mat</td><td>matrix where numbers are saved </td></tr>
|
||||
<tr><td class="paramname">starting_mat</td><td>copy of mat, required by printMat for highlighting the differences </td></tr>
|
||||
<tr><td class="paramname">i</td><td>current index in rows </td></tr>
|
||||
<tr><td class="paramname">j</td><td>current index in columns </td></tr>
|
||||
</table>
|
||||
@@ -767,41 +785,41 @@ template<size_t V> </div>
|
||||
<p>Place the 'no' - assuming a solution will exist</p>
|
||||
<p>Couldn't find a solution loop will place the next no.</p>
|
||||
<p><a class="el" href="../../dd/d4f/class_solution.html">Solution</a> couldn't be found for any of the numbers provided</p>
|
||||
<div class="fragment"><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> /// Base Case</span></div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"></span> <span class="keywordflow">if</span> (i == 9) {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> /// Solved for 9 rows already</span></div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"></span> backtracking::printMat<V>(mat, 9);</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> /// Crossed the last Cell in the row</span></div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"></span> <span class="keywordflow">if</span> (j == 9) {</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">return</span> backtracking::solveSudoku<V>(mat, i + 1, 0);</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> /// Blue Cell - Skip</span></div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"></span> <span class="keywordflow">if</span> (mat[i][j] != 0) {</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">return</span> backtracking::solveSudoku<V>(mat, i, j + 1);</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> /// White Cell</span></div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> /// Try to place every possible no</span></div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"></span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> no = 1; no <= 9; no++) {</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">if</span> (backtracking::isPossible<V>(mat, i, j, no, 9)) {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> /// Place the 'no' - assuming a solution will exist</span></div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"></span> mat[i][j] = no;</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordtype">bool</span> solution_found = backtracking::solveSudoku<V>(mat, i, j + 1);</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">if</span> (solution_found) {</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  }<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> /// Couldn't find a solution</span></div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> /// loop will place the next no.</span></div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"></span> }</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  }<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> /// Solution couldn't be found for any of the numbers provided</span></div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"></span> mat[i][j] = 0;</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> /// Base Case</span></div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"></span> <span class="keywordflow">if</span> (i == 9) {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> /// Solved for 9 rows already</span></div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"></span> backtracking::printMat<V>(mat, starting_mat, 9);</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  }</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> /// Crossed the last Cell in the row</span></div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"></span> <span class="keywordflow">if</span> (j == 9) {</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">return</span> backtracking::solveSudoku<V>(mat, starting_mat, i + 1, 0);</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  }</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> /// Blue Cell - Skip</span></div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"></span> <span class="keywordflow">if</span> (mat[i][j] != 0) {</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> backtracking::solveSudoku<V>(mat, starting_mat, i, j + 1);</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> /// White Cell</span></div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> /// Try to place every possible no</span></div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"></span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> no = 1; no <= 9; no++) {</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">if</span> (backtracking::isPossible<V>(mat, i, j, no, 9)) {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> /// Place the 'no' - assuming a solution will exist</span></div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"></span> mat[i][j] = no;</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordtype">bool</span> solution_found = backtracking::solveSudoku<V>(mat, starting_mat, i, j + 1);</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">if</span> (solution_found) {</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> /// Couldn't find a solution</span></div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> /// loop will place the next no.</span></div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"></span> }</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  }<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> /// Solution couldn't be found for any of the numbers provided</span></div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"></span> mat[i][j] = 0;</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -324,7 +324,7 @@ $(document).ready(function(){initNavTree('namespacemembers.html',''); initResiza
|
||||
: <a class="el" href="dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math</a>
|
||||
</li>
|
||||
<li>printMat()
|
||||
: <a class="el" href="db/dc0/namespacebacktracking.html#a4664b23ed7939e3df1c0cb23013eec0c">backtracking</a>
|
||||
: <a class="el" href="db/dc0/namespacebacktracking.html#ae1a76e21cb3934368d01cea7672d3906">backtracking</a>
|
||||
</li>
|
||||
<li>printSolution()
|
||||
: <a class="el" href="db/dc0/namespacebacktracking.html#a8cfb2d08840766ac4402196079308a36">backtracking</a>
|
||||
@@ -403,7 +403,7 @@ $(document).ready(function(){initNavTree('namespacemembers.html',''); initResiza
|
||||
: <a class="el" href="db/dc0/namespacebacktracking.html#a932e38e8912742cedf7b5a837168e03a">backtracking</a>
|
||||
</li>
|
||||
<li>solveSudoku()
|
||||
: <a class="el" href="db/dc0/namespacebacktracking.html#af6b62cbc209d7e13ffca0ab3ed3392b6">backtracking</a>
|
||||
: <a class="el" href="db/dc0/namespacebacktracking.html#a2b98ee79cdbc02ffd7b1f786f9696892">backtracking</a>
|
||||
</li>
|
||||
<li>spirograph()
|
||||
: <a class="el" href="da/dd3/namespacespirograph.html#aeca22dbe4563358960e907a40cd3e1ac">spirograph</a>
|
||||
|
||||
@@ -318,7 +318,7 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html',''); initR
|
||||
: <a class="el" href="dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math</a>
|
||||
</li>
|
||||
<li>printMat()
|
||||
: <a class="el" href="db/dc0/namespacebacktracking.html#a4664b23ed7939e3df1c0cb23013eec0c">backtracking</a>
|
||||
: <a class="el" href="db/dc0/namespacebacktracking.html#ae1a76e21cb3934368d01cea7672d3906">backtracking</a>
|
||||
</li>
|
||||
<li>printSolution()
|
||||
: <a class="el" href="db/dc0/namespacebacktracking.html#a8cfb2d08840766ac4402196079308a36">backtracking</a>
|
||||
@@ -394,7 +394,7 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html',''); initR
|
||||
: <a class="el" href="db/dc0/namespacebacktracking.html#a932e38e8912742cedf7b5a837168e03a">backtracking</a>
|
||||
</li>
|
||||
<li>solveSudoku()
|
||||
: <a class="el" href="db/dc0/namespacebacktracking.html#af6b62cbc209d7e13ffca0ab3ed3392b6">backtracking</a>
|
||||
: <a class="el" href="db/dc0/namespacebacktracking.html#a2b98ee79cdbc02ffd7b1f786f9696892">backtracking</a>
|
||||
</li>
|
||||
<li>spirograph()
|
||||
: <a class="el" href="da/dd3/namespacespirograph.html#aeca22dbe4563358960e907a40cd3e1ac">spirograph</a>
|
||||
|
||||
@@ -228,10 +228,10 @@ var NAVTREEINDEX2 =
|
||||
"d6/d7a/golden__search__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e":[10,0,12,5,6],
|
||||
"d6/d7a/golden__search__extrema_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[10,0,12,5,3],
|
||||
"d6/d7b/sudoku__solve_8cpp.html":[10,0,0,7],
|
||||
"d6/d7b/sudoku__solve_8cpp.html#a4664b23ed7939e3df1c0cb23013eec0c":[10,0,0,7,2],
|
||||
"d6/d7b/sudoku__solve_8cpp.html#a2b98ee79cdbc02ffd7b1f786f9696892":[10,0,0,7,3],
|
||||
"d6/d7b/sudoku__solve_8cpp.html#a80af16e57cfb6aaab2bf1da4c4db3308":[10,0,0,7,0],
|
||||
"d6/d7b/sudoku__solve_8cpp.html#ae1a76e21cb3934368d01cea7672d3906":[10,0,0,7,2],
|
||||
"d6/d7b/sudoku__solve_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[10,0,0,7,1],
|
||||
"d6/d7b/sudoku__solve_8cpp.html#af6b62cbc209d7e13ffca0ab3ed3392b6":[10,0,0,7,3],
|
||||
"d6/d80/double__hash__hash__table_8cpp.html":[10,0,8,1],
|
||||
"d6/d80/double__hash__hash__table_8cpp.html#a0d90726ed1de7b3d2ae261baed048003":[10,0,8,1,6],
|
||||
"d6/d80/double__hash__hash__table_8cpp.html#a0e2ff0f9cfc7b54e60a6561f792d8b26":[10,0,8,1,17],
|
||||
|
||||
@@ -86,7 +86,7 @@ var searchData=
|
||||
['print_1449',['Print',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a2e9a9db7792cf5383f4c4cc418255165',1,'data_structures::tree_234::Tree234::Print()'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a235843bdf82d2a6cc8596ae8fd3b8df9',1,'print(): sieve_of_eratosthenes.cpp']]],
|
||||
['printarray_1450',['printArray',['../d2/d52/heap__sort_8cpp.html#a9ed3e1510afdf3edd06cf2b68769a767',1,'heap_sort.cpp']]],
|
||||
['printf_1451',['printf',['http://en.cppreference.com/w/cpp/io/c/fprintf.html',0,'std']]],
|
||||
['printmat_1452',['printMat',['../db/dc0/namespacebacktracking.html#a4664b23ed7939e3df1c0cb23013eec0c',1,'backtracking']]],
|
||||
['printmat_1452',['printMat',['../db/dc0/namespacebacktracking.html#ae1a76e21cb3934368d01cea7672d3906',1,'backtracking']]],
|
||||
['printnode_1453',['PrintNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be',1,'data_structures::tree_234::Tree234']]],
|
||||
['printroot_1454',['printRoot',['../dd/d29/false__position_8cpp.html#a85cb7bfb90abc898e042d624372c5345',1,'numerical_methods::false_position']]],
|
||||
['printsol_1455',['PrintSol',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a04090463be4942a69ea91fe7386da905',1,'backtracking::n_queens_optimized::PrintSol()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9',1,'backtracking::n_queens_all_solutions::PrintSol()']]],
|
||||
|
||||
@@ -128,7 +128,7 @@ var searchData=
|
||||
['solve_1752',['solve',['../db/dc0/namespacebacktracking.html#a932e38e8912742cedf7b5a837168e03a',1,'backtracking']]],
|
||||
['solvemaze_1753',['solveMaze',['../dc/d5a/rat__maze_8cpp.html#ab99107bfb4c6934cd4691868c66c0aa3',1,'backtracking::rat_maze']]],
|
||||
['solvenq_1754',['solveNQ',['../d4/d3e/n__queens_8cpp.html#a0dbd7af47d87f0b956609fe9e3288ecb',1,'backtracking::n_queens']]],
|
||||
['solvesudoku_1755',['solveSudoku',['../db/dc0/namespacebacktracking.html#af6b62cbc209d7e13ffca0ab3ed3392b6',1,'backtracking']]],
|
||||
['solvesudoku_1755',['solveSudoku',['../db/dc0/namespacebacktracking.html#a2b98ee79cdbc02ffd7b1f786f9696892',1,'backtracking']]],
|
||||
['sort_1756',['sort',['http://en.cppreference.com/w/cpp/container/forward_list/sort.html',0,'std::forward_list::sort()'],['http://en.cppreference.com/w/cpp/container/list/sort.html',0,'std::list::sort()'],['http://en.cppreference.com/w/cpp/algorithm/sort.html',0,'std::sort()']]],
|
||||
['sort_5fheap_1757',['sort_heap',['http://en.cppreference.com/w/cpp/algorithm/sort_heap.html',0,'std']]],
|
||||
['sorting_1758',['sorting',['../d5/d91/namespacesorting.html',1,'sorting'],['../d5/d4c/group__sorting.html',1,'(Global Namespace)']]],
|
||||
|
||||
@@ -56,7 +56,7 @@ var searchData=
|
||||
['print_4125',['Print',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a2e9a9db7792cf5383f4c4cc418255165',1,'data_structures::tree_234::Tree234::Print()'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a235843bdf82d2a6cc8596ae8fd3b8df9',1,'print(): sieve_of_eratosthenes.cpp']]],
|
||||
['printarray_4126',['printArray',['../d2/d52/heap__sort_8cpp.html#a9ed3e1510afdf3edd06cf2b68769a767',1,'heap_sort.cpp']]],
|
||||
['printf_4127',['printf',['http://en.cppreference.com/w/cpp/io/c/fprintf.html',0,'std']]],
|
||||
['printmat_4128',['printMat',['../db/dc0/namespacebacktracking.html#a4664b23ed7939e3df1c0cb23013eec0c',1,'backtracking']]],
|
||||
['printmat_4128',['printMat',['../db/dc0/namespacebacktracking.html#ae1a76e21cb3934368d01cea7672d3906',1,'backtracking']]],
|
||||
['printnode_4129',['PrintNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be',1,'data_structures::tree_234::Tree234']]],
|
||||
['printroot_4130',['printRoot',['../dd/d29/false__position_8cpp.html#a85cb7bfb90abc898e042d624372c5345',1,'numerical_methods::false_position']]],
|
||||
['printsol_4131',['PrintSol',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a04090463be4942a69ea91fe7386da905',1,'backtracking::n_queens_optimized::PrintSol()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9',1,'backtracking::n_queens_all_solutions::PrintSol()']]],
|
||||
|
||||
@@ -103,7 +103,7 @@ var searchData=
|
||||
['solve_4349',['solve',['../db/dc0/namespacebacktracking.html#a932e38e8912742cedf7b5a837168e03a',1,'backtracking']]],
|
||||
['solvemaze_4350',['solveMaze',['../dc/d5a/rat__maze_8cpp.html#ab99107bfb4c6934cd4691868c66c0aa3',1,'backtracking::rat_maze']]],
|
||||
['solvenq_4351',['solveNQ',['../d4/d3e/n__queens_8cpp.html#a0dbd7af47d87f0b956609fe9e3288ecb',1,'backtracking::n_queens']]],
|
||||
['solvesudoku_4352',['solveSudoku',['../db/dc0/namespacebacktracking.html#af6b62cbc209d7e13ffca0ab3ed3392b6',1,'backtracking']]],
|
||||
['solvesudoku_4352',['solveSudoku',['../db/dc0/namespacebacktracking.html#a2b98ee79cdbc02ffd7b1f786f9696892',1,'backtracking']]],
|
||||
['sort_4353',['sort',['http://en.cppreference.com/w/cpp/container/forward_list/sort.html',0,'std::forward_list::sort()'],['http://en.cppreference.com/w/cpp/container/list/sort.html',0,'std::list::sort()'],['http://en.cppreference.com/w/cpp/algorithm/sort.html',0,'std::sort()']]],
|
||||
['sort_5fheap_4354',['sort_heap',['http://en.cppreference.com/w/cpp/algorithm/sort_heap.html',0,'std']]],
|
||||
['spiralprint_4355',['spiralPrint',['../db/d07/spiral__print_8cpp.html#a850d3f55e1a8d227176cdcc67352c197',1,'spiral_print.cpp']]],
|
||||
|
||||
Reference in New Issue
Block a user