https://adventofcode.com/2018/day/6
입력 : 좌표의 쌍이 N개 주어짐
(1, 1) (1, 6) (8, 3) (3, 4) (5, 5) (8, 9)
각 점은 1 tick이 지날때 마다 상,하,좌,우로 증식함.
..........
.A........
..........
........C.
...D......
.....E....
.B........
..........
..........
........F.
aaaaa.cccc
aAaaa.cccc
aaaddecccc
aadddeccCc
..dDdeeccc
bb.deEeecc
bBb.eeee..
bbb.eeefff
bbb.ffffff
bbb.eeffFf
여기서 . 으로 표기된 부분은 각 출발 지점으로부터 '같은 거리'에 있는 부분을 뜻함. 맵 크기에는 제한이 없어 무한으로 뻗어나간다고 할 때, 가장 큰 유한한 면적의 크기를 반환 (part-1)
안전(safe) 한 지역은 근원지'들'로부터의 맨하탄거리(Manhattan distance, 격자를 상하좌우로만 움직일때의 최단 거리)의 '합'이 N 미만인 지역이다.
..........
.A........
..........
...###..C.
..#D###...
..###E#...
.B.###....
..........
..........
........F.
예를 들어 N=32 일 경우, (4,3) 지역에서 A~F 까지의 거리의 합을 구해보면,
Distance to coordinate A: abs(4-1) + abs(3-1) = 5
Distance to coordinate B: abs(4-1) + abs(3-6) = 6
Distance to coordinate C: abs(4-8) + abs(3-3) = 4
Distance to coordinate D: abs(4-3) + abs(3-4) = 2
Distance to coordinate E: abs(4-5) + abs(3-5) = 3
Distance to coordinate F: abs(4-8) + abs(3-9) = 10
Total distance: 5 + 6 + 4 + 2 + 3 + 10 = 30
거리의 총합이 32 미만이므로 (4,3)은 안전한 지역이다.
N이 10000 일 때 안전한 지역의 사이즈를 구하시오.