add new solutions

This commit is contained in:
kanna5 2026-01-05 16:48:03 +09:00
parent d798d5e8c9
commit 886b5e0a8e
Signed by: kkyy
GPG key ID: 06332F3965E9B0CF
34 changed files with 1164 additions and 0 deletions

View file

@ -0,0 +1,37 @@
package q130
func markI(board [][]byte, x, y int) {
w, h := len(board[0]), len(board)
if x < 0 || y < 0 || x >= w || y >= h || board[y][x] != 'O' {
return
}
board[y][x] = 'I'
markI(board, x, y+1)
markI(board, x, y-1)
markI(board, x+1, y)
markI(board, x-1, y)
}
func solve(board [][]byte) {
for i := range len(board) {
markI(board, 0, i)
markI(board, len(board[0])-1, i)
}
for i := range len(board[0]) {
markI(board, i, 0)
markI(board, i, len(board)-1)
}
for y := range board {
for x := range board[0] {
switch board[y][x] {
case 'O':
board[y][x] = 'X'
case 'I':
board[y][x] = 'O'
}
}
}
}
var _ = solve