class Ideone {
public static void main
(String[] args
) { final byte one = 1;
final byte three = 3;
final byte six = 6;
final byte nine = 9;
final byte zero = 0;
final byte[][] maze = new byte[nine][nine];
byte rand
= (byte)(Math.
random() * nine
+ one
);/* get value 1 to 9 */ System.
out.
println("Generating suduko maze ..."); for(byte r = zero, c; nine > r; r ++) {
if(three == r || six == r) {
rand = maze[r - three][zero];
rand = nine == rand ? one : (byte)(rand + one);
} else {
rand = zero < r ? maze[r - one][six] : rand;
}
for(c = zero; nine > c; c ++) {
maze[r][c] = rand;
rand = nine == rand ? one : (byte)(rand + one);
}
}
System.
out.
println("Printing suduko maze ..."); String ln
= "\n+--+--+--+--+--+--+--+--+--+"; for(byte[] r : maze) {
for(byte v: r) {
}
}
}
}
CmNsYXNzIElkZW9uZSB7CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoJCWZpbmFsIGJ5dGUgb25lID0gMTsKCQlmaW5hbCBieXRlIHRocmVlID0gMzsKCQlmaW5hbCBieXRlIHNpeCA9IDY7CgkJZmluYWwgYnl0ZSBuaW5lID0gOTsKCQlmaW5hbCBieXRlIHplcm8gPSAwOwoJCWZpbmFsIGJ5dGVbXVtdIG1hemUgPSBuZXcgYnl0ZVtuaW5lXVtuaW5lXTsKCQlieXRlIHJhbmQgPSAoYnl0ZSkoTWF0aC5yYW5kb20oKSAqIG5pbmUgKyBvbmUpOy8qIGdldCB2YWx1ZSAxIHRvIDkgKi8KCQlTeXN0ZW0ub3V0LnByaW50bG4oIkdlbmVyYXRpbmcgc3VkdWtvIG1hemUgLi4uIik7CgkJZm9yKGJ5dGUgciA9IHplcm8sIGM7IG5pbmUgPiByOyByICsrKSB7CgkJCWlmKHRocmVlID09IHIgfHwgc2l4ID09IHIpIHsKCQkJCXJhbmQgPSBtYXplW3IgLSB0aHJlZV1bemVyb107CgkJCQlyYW5kID0gbmluZSA9PSByYW5kID8gb25lIDogKGJ5dGUpKHJhbmQgKyBvbmUpOwoJCQl9IGVsc2UgewoJCQkJcmFuZCA9IHplcm8gPCByID8gbWF6ZVtyIC0gb25lXVtzaXhdIDogcmFuZDsKCQkJfQoJCQlmb3IoYyA9IHplcm87IG5pbmUgPiBjOyBjICsrKSB7CgkJCQltYXplW3JdW2NdID0gcmFuZDsKCQkJCXJhbmQgPSBuaW5lID09IHJhbmQgPyBvbmUgOiAoYnl0ZSkocmFuZCArIG9uZSk7CgkJCX0KCQl9CgkJU3lzdGVtLm91dC5wcmludGxuKCJQcmludGluZyBzdWR1a28gbWF6ZSAuLi4iKTsKCQlTdHJpbmcgbG4gPSAiXG4rLS0rLS0rLS0rLS0rLS0rLS0rLS0rLS0rLS0rIjsKCQlTeXN0ZW0ub3V0LnByaW50KGxuKTsKCQlmb3IoYnl0ZVtdIHIgOiBtYXplKSB7CgkJCVN5c3RlbS5vdXQucHJpbnQoIlxufCIpOwoJCQlmb3IoYnl0ZSB2OiByKSB7CgkJCQlTeXN0ZW0ub3V0LnByaW50ZigiJTJkfCIsIHYpOwoJCQl9CgkJCVN5c3RlbS5vdXQucHJpbnQobG4pOwoJCX0KCQlTeXN0ZW0ub3V0LnByaW50bG4oKTsKICAgIH0KfQo=