킬봇은 살인 로봇으로 가득한 방에서 살아남는 턴제 게임이다. 누가 로봇을 만들었는지, 왜 눈앞의 모든 것을 부수도록 명령했는지는 아무도 모른다. 확실한 것은 제작자가 품질보다 수량을 택했다는 사실뿐이라, 로봇은 수가 아주 많고 아주 멍청하다.
판은 직사각형 격자이고, 각 칸에는 다음 중 하나가 놓인다.
한 턴은 두 단계로 진행된다.
각 단계의 이동이 모두 끝난 뒤에 칸을 정리한다.
모두 동시에 움직이므로, 같은 단계에 다른 유닛이 빠져나가는 칸으로 들어가는 것은 아무 일도 아니다.
로봇과 고속봇이 하나도 남지 않을 때까지 턴을 반복한다. 영웅이 부순 로봇과 고속봇의 수를 세어라.
아래 그림은 어떤 게임의 첫 턴이다. 영웅은 E5에 서 있고, 고철 더미는 D1, F3, G5, B7에 있다.
A B C D E F G H
1 . . . * . . . .
2 . . . . . . . #
3 . . . . . * . .
4 . . . . + . . .
5 . + . . @ . * .
6 . . . . . . . +
7 . * . . . + . .
8 . + . . . . # .
첫 번째 단계에서 B5의 로봇은 영웅과 같은 행이므로 오른쪽 C5로 가고, E4의 로봇은 영웅과 같은 열이므로 아래쪽 E5로 들어가 영웅에게 부서진다. B8의 로봇은 오른쪽 위 C7로 간다. H6의 로봇은 왼쪽 위 G5로 갔다가 고철 더미에 부딪혀 부서진다. F7의 로봇은 E6으로 가고, 같은 단계에 G8의 고속봇이 F7로 들어오므로 둘은 겹치지 않는다. 두 번째 단계에서는 로봇이 제자리에 있고 F7의 고속봇이 E6으로 가서 기다리던 로봇과 충돌한다. 둘 다 부서지고 E6에는 고철 더미가 남는다.
입력에는 여러 개의 테스트 케이스가 들어 있고, 테스트 케이스 하나가 격자 하나를 나타낸다. 격자는 길이가 같은 여러 줄로 주어진다. 한 줄이 격자의 한 행이고, 줄의 한 문자가 한 칸이다. 빈 칸은 .이고, 나머지 칸은 위에서 설명한 문자를 쓴다. 각 격자 다음에는 $ 문자 하나만 있는 줄이 온다. 격자마다 @가 놓인 칸은 정확히 하나다. 격자의 각 변은 1칸 이상 1000칸 이하이다.
각 테스트 케이스마다 게임이 끝났을 때, 즉 로봇과 고속봇이 모두 부서졌을 때 영웅이 부순 로봇과 고속봇의 수를 한 줄에 출력한다.