1010번 - 다리 놓기
사이트 N과 M이 주어진다고 할 때, 각 점을 N0, N1, N2, ..., M0, M1, M2, ... 라고 한다면
N0가 M0에 고정될 때 경우의 수는 M - 1개 중에 N - 1개를 고르는 경우의 수,
N0가 M1에 고정된다면 M - 2개 중에 N - 1개를 고르는 경우의 수..
하는 식이기에 모든 경우의 수는
(M - 1) C (N - 1) + (M - 2) C (N - 1) + ... (좌우가 같아질 때)
까지의 합이 된다고 생각해서 코드를 짜봤습니다.
그 결과 이것저것 테스트해봤는데 작은 숫자들은 잘 나오는 것 같았습니다.
근데 예제에서 13 29는 67863915가 아니라 67863911이 나오더라구요..
혹시 제 아이디어나 코드에서 문제가 있을까요..?
조언 감사드립니다!
코드를 아래와 같이 고쳐서 예제 13 29 에 대해서는 제대로 출력이 됩니다.
그런데 제출해보니 50%에서 틀렸다고 나오네요..
혹시 다른 문제가 있을까요..?
댓글을 작성하려면 로그인해야 합니다.
furyhunter 6년 전
사이트 N과 M이 주어진다고 할 때, 각 점을 N0, N1, N2, ..., M0, M1, M2, ... 라고 한다면
N0가 M0에 고정될 때 경우의 수는 M - 1개 중에 N - 1개를 고르는 경우의 수,
N0가 M1에 고정된다면 M - 2개 중에 N - 1개를 고르는 경우의 수..
하는 식이기에 모든 경우의 수는
(M - 1) C (N - 1) + (M - 2) C (N - 1) + ... (좌우가 같아질 때)
까지의 합이 된다고 생각해서 코드를 짜봤습니다.
그 결과 이것저것 테스트해봤는데 작은 숫자들은 잘 나오는 것 같았습니다.
근데 예제에서 13 29는 67863915가 아니라 67863911이 나오더라구요..
혹시 제 아이디어나 코드에서 문제가 있을까요..?