시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
행성계에는 0부터 2^n - 1까지 번호가 붙은 2^n개의 행성이 있다. 행성들은 번호 순서대로 한 직선 위에 놓여 있다고 생각한다.
스탄초는 처음에 우주 정거장을 통해 번호 k인 행성에 도착한다. 또한 1부터 2^n - 1까지 번호가 붙은 순간이동 장치가 하나씩 있다. 번호가 t인 장치는 최대 한 번만 사용할 수 있으며, 현재 행성 번호가 m일 때 존재한다면 m + t 또는 m - t인 행성으로 이동할 수 있다.
스탄초가 서로 다른 행성을 가능한 한 많이 방문하도록 순간이동 장치의 사용 순서를 구하라. 처음 도착한 행성 k는 방문 수에 포함하지 않는다.
표준 입력 한 줄에 양의 정수 n과 정수 k가 공백으로 구분되어 주어진다.
첫째 줄에 스탄초가 행성 k를 제외하고 방문할 수 있는 행성의 최대 개수 p를 출력한다.
둘째 줄에는 사용할 p개의 순간이동 장치 번호를 사용 순서대로 출력한다. 더 큰 번호의 행성에서 더 작은 번호의 행성으로 이동하는 장치는 음수로 출력한다.
가능한 사용 순서가 여러 가지라면 그중 아무거나 출력해도 된다.
1 <= n <= 200 <= k <= 2^n - 1