15
MENSAJES
#31 Re: sudoku en java
#include <cassert>
#include <iostream>
#include <string>
using namespace std;
bool rows[9][10], columns[9][10], squares[3][3][10];
string board[9];
bool solve(int k) {
if (k == 9*9) return true;
int r = k/9, c = k%9;
for (char ch = '1'; ch <= '9'; ch++)
if (board[r][c] == '*' || board[r][c] == ch ) {
int digit = ch - '0';
if (!rows[r][digit] && !columns[c][digit] && !squares[r/3][c/3][digit]) {
rows[r][digit] = columns[c][digit] = squares[r/3][c/3][digit] = true;
swap(board[r][c], ch);
if (solve(k + 1)) return true;
swap(board[r][c], ch);
rows[r][digit] = columns[c][digit] = squares[r/3][c/3][digit] = false;
}
}
return false;
}
int main() {
for (int r = 0; r < 9; r++) cin >> board[r];
assert(solve(0));
for (int r = 0; r < 9; r++) cout << board[r] << endl;
}
$ cat sudoku.in *1*5*4**2 *3**7***6 7***9*8** *639**127 ***236*** 492**568* **7*8***4 1***2**9* 3**4*7*6* $ ./solver < sudoku.in 918564372 235871946 746392815 563948127 871236459 492715683 627189534 154623798 389457261
1
MENSAJES
1
MENSAJES
#34 Re: sudoku en java
sudoko-en-java - Búsqueda Softonic Google
Para This thread | Tipo Refback
Sudoku Online’s Chat Logs from June 19th, 2008 - meebo rooms
Para This thread | Tipo Refback