Skip to content

Instantly share code, notes, and snippets.

@hgmiguel
Created October 27, 2014 23:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hgmiguel/ac95336b805d22c97f6a to your computer and use it in GitHub Desktop.
Save hgmiguel/ac95336b805d22c97f6a to your computer and use it in GitHub Desktop.
busca minas horrible
file = new File('input.txt')
board = [][]
file.eachWithIndex {obj, i ->
if (i == 0) {
(rows, columns) = obj.split(" ")*.toInteger()
} else {
board << ([0] << obj.collect{ it == '*'?'*':0 } << [0]).flatten()
}
}
zero_row = (0..columns+1).collect {0}
board.add(0, zero_row)
board << zero_row
(1..rows).each {row->
(1..columns).each { column ->
if(board[row][column] != '*') {
if (board[row+1][column] == '*') {
board[row][column] += 1
}
if (board[row-1][column] == '*') {
board[row][column] += 1
}
if (board[row][column+1] == '*') {
board[row][column] += 1
}
if (board[row][column-1] == '*') {
board[row][column] += 1
}
if (board[row+1][column+1] == '*') {
board[row][column] += 1
}
if (board[row-1][column-1] == '*') {
board[row][column] += 1
}
if (board[row+1][column-1] == '*') {
board[row][column] += 1
}
if (board[row-1][column+1] == '*') {
board[row][column] += 1
}
}
}
}
(1..rows).each {row->
println ""
(1..columns).each { column ->
print "${board[row][column]}"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment