일반화된 나이트
면접 대비시간 제한1초메모리 제한1024 MB
일반화한 (a,b)-나이트와 시작 칸이 주어질 때, 한 번에 이동할 수 있는 모든 칸을 열, 행 순으로 정렬해 출력한다.
문제
체스를 모르는 사람을 위해 설명하면, 체스는 개의 칸으로 이루어진 격자에서 두는 보드 게임이다. 행은 아래에서 위로 부터 까지 번호가 붙고, 열은 알파벳 소문자 부터 까지로 나타낸다. 칸의 이름은 열 다음에 행을 붙여 쓴다. 예를 들어 과 는 올바른 칸 이름이다.
체스에서 기물이 어떤 칸을 위협한다는 것은 그 기물이 한 번의 이동으로 그 칸에 갈 수 있다는 뜻이다. 나이트는 다른 기물과 다르게 움직이기 때문에 가장 무서운 기물 중 하나다. 나이트는 한 번에 두 행과 한 열, 또는 한 행과 두 열을 움직일 수 있다. 아래 그림은 표준 체스 나이트가 칸에서 출발할 때 위협하는 칸을 보여준다.

표준 체스 나이트는 -나이트다. 더 일반화된 버전은 -나이트로, 한 번의 이동으로 행과 열을 움직이거나 행과 열을 움직일 수 있다. 체스판의 시민들은 이 새로운 나이트가 얼마나 강력한지 몰라 걱정하고 있다. -나이트와 출발 칸이 주어질 때, 이 나이트는 어떤 칸을 위협하는가?
입력
입력은 두 줄로 이루어진다. 첫째 줄에는 나이트의 성질을 나타내는 두 정수 와 가 공백으로 구분되어 주어진다. 이고 임이 보장된다. 둘째 줄에는 -나이트의 출발 위치가 위에서 설명한 표준 체스 표기법으로 주어진다.
출력
먼저 나이트가 도달할 수 있는 칸의 수 를 출력한다. 둘째 줄에는 정확히 한 번의 이동으로 갈 수 있는 위치 개를 공백으로 구분하여 출력한다. 이 위치들은 열이 증가하는 순서로 정렬하고, 열이 같으면 행이 증가하는 순서로 정렬한다.