페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#3641

Checker Challenge 1초 128MB

문제

6*6체커보드에서 6개의 체커들은 아래 그림과 같이 배치될 수 있다.

각 체커는 한 행에 1개, 한 열에 1개씩 밖에 배치할 수 없다.

두 대각선(기울기 증가, 기울기 감소)에도 한 개의 체커만 둘 수 있다.

이 조건을 만족하면서 배치한 그림이 다음 그림이다.

 

          Column

    1   2   3   4   5   6

  -------------------------

1 |   | O |   |   |   |   |

  -------------------------

2 |   |   |   | O |   |   |

  -------------------------

3 |   |   |   |   |   | O |

  -------------------------

4 | O |   |   |   |   |   |

  -------------------------

5 |   |   | O |   |   |   |

  -------------------------

6 |   |   |   |   | O |   |

  ------------------------- 

 

결과는 아래와 같이 각 행에 대응하는 열의 위치로 나타낼 수 있다.

행 : 1 2 3 4 5 6

열 : 2 4 6 1 3 5

위 예는 체커보드에서 구할 수 있는 결과의 한 예이다.

결과는 행은 1~6으로 고정하고 이에 대한 열을 의미한 2 4 6 1 3 5를 하나의 결과라고 부른다.

체커판의 크기 N이 주어질 때, 모든 결과의 수를 구하는 프로그램을 작성하시오.


입력

하나의 줄에 체커보드의 크기 N이 주어진다. ( 6<=N<=13 )​​ 


출력

첫 3줄에는 3가지 결과를 출력하고 4번째 줄에는 총 결과의 수를 출력한다.

결과를 구성하는 숫자를 이어붙인 수로 생각할 때,

오름 차순으로 가장 작은 3가지를 오름차순으로 출력한다.​ 


예제1

입력
6
출력
246135

362514
415263
4

출처

USACO training old prob

역링크