11378번 - 열혈강호 4
스포일러 주의: 이 질문글에는 정답과 매우 유사한 코드가 있습니다.
일단 이분 매칭으로 풀긴 했습니다만, 네트워크 플로우로도 구현해 보려 했습니다.
그래프는 source(0), 직원(1 ~ n), 일(n+1 ~ n+m), sink(n+m+1)로 구성했습니다. source로부터 각 직원에 용량이 k+1인 간선을 연결하고, 직원과 일, 일과 sink를 모두 용량 1인 간선으로 연결하여 에드몬드 카프 알고리즘으로 네트워크 플로우를 구현했습니다.
그런데 계속해서 오답을 받습니다. 구글에 검색해 보면 디닉으로 풀어야 한다는 말도 있는데, 에드몬드 카프를 사용하면 틀리는 건가요? 아니면 구현에 문제가 있나요?
에드몬드 카프는 아무 잘못이 없습니다.. 그냥 풀이가 틀렸습니다.
반례 드리겠습니다. 아마 반례보시면 어디가 틀렸는지 바로 아실거라 생각합니다.
INPUT
2 4 12 1 22 3 4
OUTPUT
4
ANSWER
3
답변 감사합니다. 해당 문제를 수정했으나 또다른 문제가 있는 것 같습니다. 스스로 찾아보겠습니다.
해결했습니다. 벌점을 부여하기 전에 모든 직원이 최소한 하나의 일을 할 수 있기 때문에, 처음에 source와 직원 사이의 용량을 1로 설정해서 구한 값과 용량을 k 늘려서 구한 값을 더한 값이 정답이 됩니다.
댓글을 작성하려면 로그인해야 합니다.
© 2026 All Rights Reserved. 주식회사 스타트링크 | 서비스 약관 | 개인정보 보호 | 결제 이용 약관 | 도움말 | 광고 문의 | 업데이트 노트 | 이슈 | TODO
한국어 | English (Beta)
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
mwy3055 5년 전 0
스포일러 주의: 이 질문글에는 정답과 매우 유사한 코드가 있습니다.
일단 이분 매칭으로 풀긴 했습니다만, 네트워크 플로우로도 구현해 보려 했습니다.
그래프는 source(0), 직원(1 ~ n), 일(n+1 ~ n+m), sink(n+m+1)로 구성했습니다. source로부터 각 직원에 용량이 k+1인 간선을 연결하고, 직원과 일, 일과 sink를 모두 용량 1인 간선으로 연결하여 에드몬드 카프 알고리즘으로 네트워크 플로우를 구현했습니다.
그런데 계속해서 오답을 받습니다. 구글에 검색해 보면 디닉으로 풀어야 한다는 말도 있는데, 에드몬드 카프를 사용하면 틀리는 건가요? 아니면 구현에 문제가 있나요?