Int { return abs( (a / N) - (b / N) ) + abs( (a % N) - (b % N) ) } func combination(i: Int) { if i == M { } combination(i: i+1) } print(getDistance(a: house[0], b: chick[4]))"> Int { return abs( (a / N) - (b / N) ) + abs( (a % N) - (b % N) ) } func combination(i: Int) { if i == M { } combination(i: i+1) } print(getDistance(a: house[0], b: chick[4]))"> Int { return abs( (a / N) - (b / N) ) + abs( (a % N) - (b % N) ) } func combination(i: Int) { if i == M { } combination(i: i+1) } print(getDistance(a: house[0], b: chick[4]))">
// 15686
import Foundation
let a = readLine()!.components(separatedBy: " ").map{ Int($0)! }
let N = a[0]
let M = a[1]
var map:[Int] = []
var house:[Int] = []
var chick:[Int] = []
for i in 0..<N {
let input = readLine()!.components(separatedBy: " ").map{ Int($0)! }
for j in 0..<N {
let num = input[j]
map.append(num)
if num == 1 { house.append(i * N + j) }
if num == 2 { chick.append(i * N + j) }
}
}
func getDistance(a: Int, b: Int) -> Int {
return abs( (a / N) - (b / N) ) + abs( (a % N) - (b % N) )
}
func combination(i: Int) {
if i == M {
}
combination(i: i+1)
}
print(getDistance(a: house[0], b: chick[4]))