문제 : https://www.acmicpc.net/problem/11376
코드 : https://github.com/NaHwaSa/BOJ_BaekjunOnlineJudge/blob/master/11300/BOJ_11376.java
기본적인 형태의 이분 매칭 문제이다. 다만 한 사람당 2개의 일을 할 수 있으므로, n을 2배로 늘렸다. 이 때 간선 정보는 n개만 유지할 수 있도록 하는것이 좋다. 내 경우엔 그래서 간선정보를 n개 받아두고, e[n/2] (12line) 형태로 받아온다. 사실 이분 매칭에서 매칭시킬 때, 기본형태에서 그 안에 들어있는 n의 번호 자체는 중요한게 아니므로(같던 다르던 상관 없음) 코드의 45line처럼 for문 돌릴 필요 없이, 그냥 그 내에서 다시한번 2번을 돌리도록 해도 된다. (45line의 for문 내에 'for(int j = 0; j < 2; j++) ~'). TMI로, for each문이 깔끔하긴 하지만, 12line처럼 받은 후에 직접 'edge.get(i)'으로 얻어오는게 더 빠르다.
'PS > BOJ' 카테고리의 다른 글
백준 16497 자바 - 대출 요청 (BOJ 16497 JAVA) (0) | 2021.10.19 |
---|---|
백준 16666 자바 - Guest Student (BOJ 16666 JAVA) (0) | 2021.10.18 |
백준 11375 자바 - 열혈강호 (BOJ 11375 JAVA) (0) | 2021.10.16 |
백준 18138 자바 - 리유나는 세일러복을 좋아해 (BOJ 18138 JAVA) (0) | 2021.10.16 |
백준 14217 자바 - 그래프 탐색 (BOJ 14217 JAVA) (0) | 2021.10.14 |
댓글