본문 바로가기

이분 매칭2

[백준] 9576: 책 나눠주기 - JAVA https://www.acmicpc.net/problem/9576 풀이이분 매칭 알고리즘을 이용해 풀 수 있는 문제였다. ArrayList에 학생마다 배정할 수 있는 책들을 저장한다. 책의 주인을 담을 수 있는 배열을 만들고, 방문 처리를 할 배열을 만들었다. m명의 학생을 탐색하면서 dfs를 하는데 배정되지 않은 책의 경우 해당 학생에 배정하고, 배정된 경우 해당 책의 주인으로 등록된 사람을 dfs탐색하여 다른 책에 배정할 수 있는 지 확인하고 가능할 경우 새로 배정한다.  메모리: 100992KB시간: 1064ms언어: Java 11import java.util.*;import java.io.*;public class Main { static ArrayList> list; static bo.. 2024. 5. 16.
[백준] 2188: 축사 배정 - JAVA https://www.acmicpc.net/problem/2188 풀이이분 매칭 알고리즘으로 푸는 문제였다. 소가 각각 희망하는 축사 번호가 주어진다. 이것을 `ArrayList>` 에 저장했다. 그 후 1번 소부터 n번 소까지 dfs탐색을 하는데 이때 각 소가 희망하는 축사의 번호를 반복 탐색으로 체크하여 이미 축사가 선점되었으면 그 축사의 주인이 되는 소를 찾아 다른 축사에 들어갈 수 있는지 판단하는 과정을 거친다. 해당 번호의 소가 축사를 배정받을 수 있었다면 카운트를 1늘려준다.  메모리: 17364KB시간: 252ms언어: Java 11import java.util.*;import java.io.*;public class Main { static ArrayList> list; stat.. 2024. 5. 16.