Quiz: NxN matrix의 좌하단에서 우상단으로 가는 방법의 수

Tags:

N \times N

matrix가 있습니다. 이 때, 좌하단점에서 우상단으로 가는 방법의 수는 몇가지일까요? 단, 같은 점은 2회 방문할 수 없습니다.

예를 들어

2 \times 2

인 matrix는 m[0,0], m[0,1], m[1,0], m[1,1]의 4개 위치가 있습니다. 이 때 출발점은 m[1,0]이고, 도착점은 m[0,1]입니다. 그러면 같은 점을 2회 방문하지 않고 출발점으로부터 도착점으로 가는 방법의 수는

(1) m[1,0] -> m[0,0] -> m[0,1]
(2) m[1,0] -> m[1,1] -> m[0,1]

의 2가지입니다. 즉, 대각선 이동은 안되고 m[1,0]->m[1,1]->m[1,0]->m[0,0]->m[0,1]과 같이 한 점을 2번 방문할 수 없습니다. 이 예의 경우엔 m[1,0]을 2번 방문했으므로 틀린 경우가 됩니다.

단, 반드시 위로 혹은 우측으로만 갈 필요는 없습니다. 예를 들어

3 \times 3

의 matrix의 출발점은 m[2,0]이고 도착점은 m[0,2]입니다. 이 때 m[2,0]->m[1,0]->m[1,1]->m[2,1]->m[2,2]->m[1,2]->m[0,2]와 같은 경로는 가능합니다.

Comments

8 responses to “Quiz: NxN matrix의 좌하단에서 우상단으로 가는 방법의 수”

  1. abraxsus Avatar
    abraxsus

    아마도… combination이겠지? 파스칼 삼각형꼴로 나오니까…
    0C0, 2C1, 4C2, 6C3, 꼴로 나가는거 같으니까..
    NxN일때…
    2(N-1)_C_(N-1)일것같은데…

  2. abraxsus Avatar
    abraxsus

    더 흥미로운 잘 알려진 문제는, 대각선을 넘지 않는다는 조건을 거는거지..
    그러면 답이 catalan number라는 숫자들이 되는데, 이산구조책엔 단골로 등장하는 수열들..
    (아마 맞을거야. 기억이 가물가물…)

  3. MKSeo Avatar
    MKSeo

    이야. 내가 전혀 기대하지 못했던 방식의 답인데;;;;;

    “0C0, 2C1, 4C2, 6C3, 꼴로 나가는거 같으니까.. NxN일때… 2(N-1)_C_(N-1)일것같은데…”
    -> 이거 정말로 이렇게 되는거 맞아? 근데 난 왜 그렇게 되는지 모르겠는데. 사실 이거 Knuth책에 나온 문제인데 90년대에 Knuth 가 실험하기로 1분걸려서 답이 나왔다는 문제인데;;;; 수식으로 딱 떨어지다니 이상하자나..

    일단 0C0, 2C1까지는 값이 맞다는거 알겠다. 근데 일반화한건 그냥 천재적으로 그냥 추측한거야? 흠;;;

    “더 흥미로운 잘 알려진 문제는, 대각선을 넘지 않는다는 조건을 거는거지..”
    -> 이건 일단 빼자;;;

  4. JM Avatar
    JM

    abraxsus 님이 말씀하신 거는 아마 무조건 오른쪽 혹은 위로 올라가야 하는 경우인 것 같네요. 오른쪽으로 한칸 움직이는걸 R, 위로 한칸 움직이는걸 U 라고 하면 이 경우의 움직임은 (n-1) 개의 R과 (n-1) 개의 U 로 이루어질테니 이들을 배열하는 수가 2(n-1) C (n-1) 이니까요.

    원래 문제는 완전 어렵네요. -_-; 으윽.. 수식으로 나오기는 하나요? ㅜㅜ

  5. abraxsus Avatar
    abraxsus

    그러쿤.. 천재적 추측? 그딴거 없다-_-;;
    단순히 문제를 제대로 안읽었다. -_-;;
    어째 쉬운문제를 올렸다 싶더라니. 어려운 문제같구나.ㅎㅎ

  6. mkseo Avatar
    mkseo

    두가지 방법이 있습니다.
    discrete dynamic programming
    monte carlo method

  7. onjo Avatar

    근데.. 루비스트는 닫으셨나여?? 루비 공부 좀 할려고 보려고 하니까.. 없어졌더라구요.. -..-;;

  8. MKSeo Avatar
    MKSeo

    네.. 죄송해요.

Leave a Reply

Your email address will not be published. Required fields are marked *