시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 512 MB 24 22 18 94.737%

문제

크기가 N×N인 체스판 위에 나이트가 하나 있다. 나이트가 있는 곳의 좌표가 주어졌을 때, K번 이동한 후에 나이트가 체스판 위에 있을 확률을 구하는 프로그램을 작성하시오.

나이트가 체스판 밖으로 이동하면, 다시 체스판 안으로 들어올 수 없다.

체스판의 가장 윗 행은 1번 행, 가장 아랫 행은 N번 행이고, 가장 왼쪽 열은 1번 열, 가장 오른쪽 열은 N번 열이다. 체스판의 좌표는 (x, y)로 나타내고, x행 y열을 나타낸다.

나이트의 위치가 (x, y)인 경우에, 이동할 수 있는 방법은 (x+1,y+2), (x+2,y+1), (x+2,y-1), (x+1,y-2), (x-1,y-2), (x-2,y-1), (x-2,y+1), (x-1,y+2) 이다.

입력

첫째 줄에 N, 나이트의 좌표 x, y, 이동 횟수 K가 주어진다. (1 ≤ N ≤ 50, 1 ≤ x, y ≤ N, 0 ≤ K ≤ 50)

출력

첫째 줄에 K번 이동한 후 나이트가 체스판 위에 있을 확률을 출력한다. 절대/상대 오차는 10-9까지 허용한다.

예제 입력 1

1 1 1 0

예제 출력 1

1

예제 입력 2

1 1 1 1

예제 출력 2

0

예제 입력 3

1 1 1 2

예제 출력 3

0

예제 입력 4

8 1 1 1

예제 출력 4

0.250

예제 입력 5

8 1 1 2

예제 출력 5

0.18750

예제 입력 6

8 1 1 3

예제 출력 6

0.12500

예제 입력 7

8 1 1 4

예제 출력 7

0.09863281250

예제 입력 8

8 1 1 10

예제 출력 8

0.01739585027098655700683593750

예제 입력 9

50 1 1 50

예제 출력 9

0.009239888029365687257287811147941081

출처