Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Jul 15, 2025

🧷 문제 링크

https://www.acmicpc.net/problem/1906

🧭 풀이 시간

90분

👀 체감 난이도

✏️ 문제 설명

N명의 사람이 1~K번 팀 중 하나에 속해있다.
인접한 두 사람의 자리를 최소한으로 바꿔서 같은 팀끼리는 모두 연속되도록 만들어 보자.

🔍 풀이 방법

  • 완전 탐색
  • 누적 합

dist[i][j] = i번 팀이 j번 인덱스부터 시작해서 차례로 연속하도록 만드는 최소 스왑 횟수로 정의했다.
누적 합으로 이 dist배열을 구해줬다.

최종 상태의 가짓수는 항상 K!이고, K가 매우 작으므로 완탐으로 모든 경우 중 최소가 되는 경우를 구했다.

⏳ 회고

왜 틀렸는지 진짜 모르겠는데, 완탐에서 잘못 됐을 가능성은 절대 없다 생각해서 아마도 dist배열을 이용하여 횟수 구하는 로직이 잘못 된 것 같다.

태그를 보니 Bit DP가 달려있는데, 진짜 감이 1도 안잡혀서 포기해야 하나 생각이 든다.

일단 내일 더 봐야겠다

@oncsr oncsr added the fail 😢 해설을 보고 풀었거나, 못 풀었을 때 label Jul 15, 2025
@ShinHeeEul ShinHeeEul merged commit 9b6dc6c into main Jul 15, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fail 😢 해설을 보고 풀었거나, 못 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants