CodeChef submission 129412 (C) plaintext list. Status: CE, problem J1, contest NOV09. By abhishek agarwala (abhishek agarwala), 2009-11-10 16:35:01.
#include <stdio.h> int sudokux[9][9]; int allowed(int row, int col, int n) { int r, c, br, bc; if (sudokux[row][col] == n) return 1; if (sudokux[row][col] != 0) return 0; for (c = 0; c < 9; c++) if (sudokux[row][c] == n) return 0; for (r = 0; r < 9; r++) if (sudokux[r][col] == n) return 0; br = row / 3; bc = col / 3; for (r = br * 3; r < (br + 1) * 3; r++) for (c = bc * 3; c < (bc + 1) * 3; c++) if (sudokux[r][c] == n) return 0; if (row==col) for (r=0;r<9;r++) if (sudokux[r][r] = n) retuen 0; if ((row+col )==9) for (r=0;r<9;r++) if (sudokux[r][9-r] = n) retuen 0; return 1; } void solve(int row, int col) { int n, t; if (row == 9) print_solution(); else for (n = 1; n <= 9; n++) if (allowed(row, col, n)) { t = sudokux[row][col]; sudokux[row][col] = n; if (col == 8) solve(row + 1, 0); else solve(row, col + 1); sudokux[row][col] = t; } } int main(void) { int n,i,j,k; for(k=0;k<n;k++) { for(i=0;i<9;i++) for(j=0;j<9;j++) { } solve(0,0); for(i=0;i<9;i++) { for(j=0;j<9;j++) } } return 0; }
Comments

