Informatica Online Judge

  타일 채우기1 (결과출력) [2348 / 092C]

Time Limit(Test case) : 1000(ms)
Number of users who solved : 7   Total Tried : 8


The Champion of this Problem (C++) : admin - ms / 50byte
My Best Submission (C++) : N/A

[JKJeong 2019]

Background

2*n의 격자판이 있다.

이 격자판을 1*2, 2*1의 도미노를 이용하여 채울 수 있는 경우를 양식에 맞추어 출력하고 서로 다른 경우의 수를 구하여라.

세로도미노 1, 가로도미노 2, 도미노는 세로로만 구분하며 "|"로 나타낸다.

예를 들어 3인 경우는 다음과 같이 출력한다.

|1|1|1|
|1|1|1|

|1|22|
|1|22|

|22|1|
|22|1|

Input

첫 번째 줄에 $n$이 구분되어 입력된다.

[입력값의 정의역]
$1 ≤ n ≤ 15$

Output

세로로 배치되는 도미노는 1, 가로로 배치되는 도미노는 2로 나타내고 각 도미노가 세로로 구분될 때는 "|"로 구분하여 출력한다.

각 사례는 공백으로 구분하고 마지막 줄에는 경우의 수를 출력한다.

각 사례는 수로 표현했을 때 작은 수부터 오름차순으로 출력한다.

마지막 줄에는 경우의 수를 출력한다.

IO Example

입력
3

출력
|1|1|1|
|1|1|1|

|1|22|
|1|22|

|22|1|
|22|1|

3

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]