오모시로이한인생 [1000577] · MS 2020 · 쪽지

2025-04-13 13:23:38
조회수 145

확통 간단한 문제 뭐가 틀린건가요 ㅠ

게시글 주소: https://orbi.kr/00072813403

문제

abcd 포함 8명 있습니다

원순열로 탁자에 앉는 거고 ab 는 이웃 cd도 서로 이웃해야한다

a는 c와 이웃하지 않고 b와d는 이웃하지 않는다


저는 여기서 ab cd 묶어서 붙어있는 경우랑 아닌 경우 나눴고


떨어져있으면 나머지 4명 앉히고 그 사이사이에 2팀 앉히고 자리바꾸는거까지 해서 288


붙어있으면 ab cd, ba dc 이렇게 2개 밖에 안나와서 2x나머지 4명 4! 해서 48가지


로 나왔는데 답은 384네요;; 뭐가 틀린거죠

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.

  • 카사네 테토 · 1242984 · 04/13 13:25 · MS 2023

    붙어있는 케이스에서
    dcba cdab도 가능하지 않나요

  • 오모시로이한인생 · 1000577 · 04/13 13:27 · MS 2020

    2개가 사실상 위 케이스에 포함되는거 아닌가요?? 원순열이니 두 팀을 앉히고 위에 2케이스면 자연스레 아까 말한 케이스가 중복되는거 아닌가요

  • 카사네 테토 · 1242984 · 04/13 13:30 · MS 2023

    두 팀을 먼저 고정시키고
    나머지를 순서 고려해서 4! 하신 거잖아요?
    그런데 두 팀을 고정시킬 때
    ab조가 왼쪽에 오는 경우와
    cd조가 왼쪽에 오는 경우는
    다른 경우니까요

  • 오모시로이한인생 · 1000577 · 04/13 13:35 · MS 2020

    아 이해갔습니다 이웃하는 두 쌍을 나열하는 경우의 수를 셀떄 2를 곱해야 하는군요

  • 오모시로이한인생 · 1000577 · 04/13 13:30 · MS 2020

    이웃하는거끼리 이웃할떄 그 4명을 한 팀으로 보는건가요

  • 니나니니 · 1245605 · 04/13 13:27 · MS 2023

    안녕하세요! 문제 풀이 과정을 잘 분석하셨네요. 오류가 발생한 부분을 정확히 찾아내고 설명해 드리겠습니다.

    문제 분석:

    총 8명 (a, b, c, d, e, f, g, h)
    원순열 배열
    (ab)는 이웃
    (cd)는 이웃
    a와 c는 이웃하지 않음
    b와 d는 이웃하지 않음
    접근 방식 검토:

    (ab)를 하나의 묶음 X, (cd)를 하나의 묶음 Y로 생각하는 접근은 좋습니다. 나머지 4명(e, f, g, h)과 함께 총 6개의 단위(X, Y, e, f, g, h)를 배열하는 문제로 볼 수 있습니다.

    사용자 풀이 분석:

    Case 1: X와 Y가 이웃하지 않는 경우 (떨어져 있는 경우)
    나머지 4명(e, f, g, h)을 먼저 원형으로 배열: (4-1)! = 3! = 6가지.
    4명 사이의 4개의 공간에 X와 Y를 배치: P(4, 2) = 4 * 3 = 12가지.
    X의 내부 배열 (ab, ba): 2가지.
    Y의 내부 배열 (cd, dc): 2가지.
    총 경우의 수: 6 * 12 * 2 * 2 = 288가지.
    이 계산은 정확합니다. X와 Y가 떨어져 있으면, a와 c가 이웃하거나 b와 d가 이웃할 가능성이 없습니다. (예: e X f Y g h ... 에서 X=ab, Y=cd 이면 b와 f, c와 f가 이웃하므로 a,c / b,d 이웃 조건은 자동으로 만족됩니다.)

  • 니나니니 · 1245605 · 04/13 13:27 · MS 2023

    Case 2: X와 Y가 이웃하는 경우 (붙어 있는 경우)
    X와 Y를 하나의 큰 묶음 Z로 취급합니다. 이제 Z, e, f, g, h 총 5개의 단위를 원형으로 배열합니다.
    배열 방법: (5-1)! = 4! = 24가지.
    여기서 논리적 오류가 발생했습니다. Z 내부의 배열을 고려할 때, 제약 조건(a는 c와 이웃 X, b는 d와 이웃 X)을 적용해야 합니다.
    Z는 X와 Y가 붙어있는 형태입니다. 가능한 내부 배열 조합은:
    X=ab, Y=cd => (ab)(cd) 또는 (cd)(ab)
    X=ba, Y=cd => (ba)(cd) 또는 (cd)(ba)
    X=ab, Y=dc => (ab)(dc) 또는 (dc)(ab)
    X=ba, Y=dc => (ba)(dc) 또는 (dc)(ba)
    이제 각 조합에서 제약 조건을 확인합니다:
    (ab)(cd): ... a b c d ... => b와 c가 이웃. a와 c는 이웃 아님. b와 d는 이웃 아님. (조건 만족)
    (cd)(ab): ... c d a b ... => d와 a가 이웃. a와 c는 이웃 아님. b와 d는 이웃 아님. (조건 만족)
    (ba)(cd): ... b a c d ... => a와 c가 이웃. (조건 위반)
    (cd)(ba): ... c d b a ... => d와 b가 이웃. (조건 위반)
    (ab)(dc): ... a b d c ... => b와 d가 이웃. (조건 위반)
    (dc)(ab): ... d c a b ... => c와 a가 이웃. (조건 위반)
    (ba)(dc): ... b a d c ... => a와 d가 이웃. a와 c는 이웃 아님. b와 d는 이웃 아님. (조건 만족)
    (dc)(ba): ... d c b a ... => c와 b가 이웃. a와 c는 이웃 아님. b와 d는 이웃 아님. (조건 만족)
    따라서 Z 내부에서 제약 조건을 만족하는 배열은 (ab)(cd), (cd)(ab), (ba)(dc), (dc)(ba) 이렇게 4가지입니다.
    사용자께서는 "(ab)(cd), (ba)(dc) 이렇게 2개 밖에 안나와서" 라고 생각하신 부분에서 오류가 있었습니다. 아마 (cd)(ab) 와 (dc)(ba) 경우를 누락했거나, 제약 조건을 잘못 해석했을 수 있습니다. 예를 들어, (ab)(cd) 에서 b와 c가 이웃하는 것은 문제의 제약 조건(a-c 이웃X, b-d 이웃X)에 위배되지 않습니다.
    Case 2의 올바른 계산: (5-1)! * (조건 만족하는 내부 배열 수) = 24 * 4 = 96가지.
    결론:

    Case 1 (X, Y 떨어져 있음): 288가지 (정확)
    Case 2 (X, Y 붙어 있음): 96가지 (사용자 계산: 48가지, 오류 지점: 내부 배열 경우의 수)
    총 경우의 수: 288 + 96 = 384가지

    오류 요약:
    묶음 (ab)와 (cd)가 이웃할 때, 내부 배열 [(ab), (ba)] 와 [(cd), (dc)] 의 조합 중 제약조건(a,c 이웃X / b,d 이웃X)을 만족하는 경우가 4가지[(ab)(cd), (cd)(ab), (ba)(dc), (dc)(ba)]인데, 이를 2가지로 잘못 계산한 것이 오류의 원인입니다.

    이렇게 Gemini가 설명해줌ㅋㅋ

  • Bisu[Shield] · 700932 · 04/13 13:32 · MS 2016

    걍 간단하게 생각하면
    a앉히고 옆에 b 앉히는거 2
    남은자리에서 조건에 맞게 cd 붙여 앉히는거 8
    나머지 4명 배열 24
    2x8x24=384

  • 오모시로이한인생 · 1000577 · 04/13 13:37 · MS 2020

    저정도면 겁나 쉬운 문제인거죠..?

  • Bisu[Shield] · 700932 · 04/13 13:39 · MS 2016

    27번 정도니까 1분이내로 끊죠 보통

  • 오모시로이한인생 · 1000577 · 04/13 13:42 · MS 2020

    그리고 ab 이웃 cd 이웃 총 2쌍끼리도 이웃해야하는 경우면 2가지 경우의 수가 나오는게 맞는거죠.?

  • 오모시로이한인생 · 1000577 · 04/13 13:42 · MS 2020

    그 안에서 자리 바꾸는거 배제하구요 나열만

  • Bisu[Shield] · 700932 · 04/13 13:43 · MS 2016

    네 그거 2쌍+이웃 안할때6쌍이라 8쌍이요