체스 판의 크기와 기사의 초기 위치를 고려하여, k
이동 후 기사가 체스 판 내부에있을 확률을 계산하십시오 .
노트 :
기사는 8 개의 모든 가능한 이동을 동일한 확률로 만듭니다.
기사가 체스 판 외부에 있으면 다시 안으로 들어갈 수 없습니다.
입력
입력은 다음과 같은 형식으로 쉼표로 구분됩니다.
l,k,x,y
여기서 l
체스 판의 길이와 너비 k
는 나이트가 움직일 횟수, 나이트 x
의 초기 위치의 x 위치, 나이트의 초기 위치의 y
y 위치입니다. 참고 0,0
보드의 왼쪽 아래 코너와 l-1,l-1
보드의 오른쪽 상단 모서리입니다.
연산:
기사의 초기 좌표로 시작하십시오. 이 위치에 대해 가능한 모든 이동을 수행하고 이러한 이동에 확률을 곱하십시오. 각 이동에 대해 재귀 적으로 호출 할 때마다 종료 조건이 충족 될 때까지이 프로세스를 계속 호출하십시오. 기사가 체스 판 외부에있는 경우 종료 조건은이 경우 0을 반환하거나 원하는 이동 횟수가 소진되면이 경우 1을 반환합니다.
보시다시피 재귀의 현재 상태는 현재 좌표와 지금까지 수행 한 단계 수에만 의존한다는 것을 알 수 있습니다. 따라서이 정보를 표 형식으로 기억할 수 있습니다.
신용
이 문제는 원래 CC BY-NC-ND 2.5 IN 라이센스에 따라 게시 된 crazyforcode.com 의 블로그 게시물에서 비롯된 것 입니다. 좀 더 도전하기 위해 약간 수정되었습니다.