Informatica Online Judge

  뱀 놀이 [2340 / 0924]

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


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

[koistudy.net (JKJeong 2019)]

Background

경곽이는 n행 m열로 구성된 판 위에서 뱀 놀이를 한다.

판에서 행은 1부터 n까지 번호가 부여되어 있고, 열은 1부터 m까지 번호가 부여되어 있다.

뱀 놀이는 다음과 같이 진행된다.

---------------------------------------------------------------------------------
1) 먼저 판의 1행 1열에 "1"이라고 번호를 쓴다.

2) 마지막으로 썼던 번호가 x라면, x를 쓴 칸에서 상, 하, 좌, 우로 인접한 칸들 중 아직 번호가 쓰여있지 않은 칸에 x+1을 쓴다.

3) 만약 마지막으로 쓴 번호가 n*m보다 적다면 다시 단계 2)를 반복한다.

4) 뱀 놀이를 종료한다.
---------------------------------------------------------------------------------


예를 들어 2행 2열이라면 다음과 같이 2가지 종료 방법이 있다.
(마지막 수를 4를 쓴 경우만 종료로 인정한다.)

1 2
4 3

1 4
2 3


n, m을 입력받아서 가능한 모든 종료 방법의 수를 구하는 프로그램을 작성하시오.

Input

n과 m이 공백으로 구분되어 입력된다.

[입력값의 정의역]
0 < n, 0 < m
n+m <= 12

Output

n*m을 쓴 종료 방법의 수를 출력한다.

IO Example

입력1
1 4

출력1
1

입력2
2 2

출력2
2

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