| Task: | Sudoku |
| Sender: | |
| Submission time: | 2015-08-16 21:02:11 +0300 |
| Language: | Java |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 100 |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.19 s | details |
| #2 | ACCEPTED | 0.20 s | details |
| #3 | ACCEPTED | 0.19 s | details |
| #4 | ACCEPTED | 0.20 s | details |
| #5 | ACCEPTED | 0.19 s | details |
Code
import java.util.Scanner;
public class Main {
public static void ratkaise(int[][] sudoku) {
int y = 1;
int x = 0;
while(y < 9) {
while(true) {
boolean kay = true;
sudoku[y][x]++;
if(sudoku[y][x] == 10) {
sudoku[y][x] = 0;
if(x == 0) {
y--;
x = 8;
} else {
x--;
}
continue;
}
for (int i = 0; i < 9; i++) {
if(sudoku[y][i] == sudoku[y][x] && i != x) {
kay = false;
break;
}
}
for (int i = 0; i < 9; i++) {
if(!kay)break;
if(sudoku[i][x] == sudoku[y][x] && i != y) {
kay = false;
break;
}
}
for (int i = 0; i < 9; i++) {
if(!kay)break;
int x1 = i%3 + 3 * (x/3);
int y1 = i/3 + 3 * (y/3);
if(sudoku[y1][x1] == sudoku[y][x] && (y1 != y || x1 != x)) {
kay = false;
}
}
if(kay)break;
}
x++;
if(x == 9) {
x = 0;
y++;
}
}
}
public static void main(String[] args) {
Scanner lukija = new Scanner(System.in);
String rivi = lukija.nextLine();
int[][] sudoku = new int[9][9];
for (int i = 0; i < 9; i++) {
sudoku[0][i] = Integer.parseInt(String.valueOf(rivi.charAt(i)));
}
ratkaise(sudoku);
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
System.out.print(sudoku[i][j]);
}
System.out.println();
}
lukija.close();
}
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 592836471 |
| correct output |
|---|
| 592836471 836471592 471592836 928364715 364715928 ... |
| user output |
|---|
| 592836471 134257689 678149235 213465798 456798123 ... |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 672935418 |
| correct output |
|---|
| 672935418 935418672 418672935 729354186 354186729 ... |
| user output |
|---|
| 672935418 134268579 589147236 213456897 456789123 ... |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 329174658 |
| correct output |
|---|
| 329174658 174658329 658329174 291746583 746583291 ... |
| user output |
|---|
| 329174658 145268379 678359124 213485796 456791283 ... |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 376958421 |
| correct output |
|---|
| 376958421 958421376 421376958 769584213 584213769 ... |
| user output |
|---|
| 376958421 124367589 589124367 213475698 457689132 ... |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 875694321 |
| correct output |
|---|
| 875694321 694321875 321875694 756943218 943218756 ... |
| user output |
|---|
| 875694321 123578469 469123578 214356897 356789142 ... |
