티스토리 뷰
✏️문제 링크
https://www.acmicpc.net/problem/2188
2188번: 축사 배정
농부 존은 소 축사를 완성하였다. 축사 환경을 쾌적하게 유지하기 위해서, 존은 축사를 M개의 칸으로 구분하고, 한 칸에는 최대 한 마리의 소만 들어가게 계획했다. 첫 주에는 소를 임의 배정해
www.acmicpc.net
✏️문제 설명
✏️문제 풀이
기본적인 이분 매칭 구현 문제입니다.
이분 매칭 알아보기
https://pooreumjung.tistory.com/338
Algorithm 공부 #26 - 이분 매칭(Binary Matching)
Algorithm 공부 #26 - 이분 매칭 ✏️이분 매칭이란? 이분 그래프에서 주로 사용하는 알고리즘 이분 그래프는 두 개의 정점 그룹이 존재할 때 모든 간선의 용량이 1이면서 양쪽 정점이 서로 다른 그
pooreumjung.tistory.com
✏️문제 코드
#include<iostream>
#include<vector>
using namespace std;
#define MAX 201
int N, M;
vector<int>graph[MAX];
int node[MAX];
bool visit[MAX];
bool dfs(int cow);
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> N >> M;
for (int i = 1; i <= N; i++) { // 그래프 구현
int number;
cin >> number;
while (number--) {
int shed;
cin >> shed;
graph[i].push_back(shed);
}
}
int count = 0;
for (int i = 1; i <= N; i++) {
fill(visit, visit + MAX, false);
if (dfs(i))
count++;
}
cout << count;
}
bool dfs(int cow)
{
for (int i = 0; i < graph[cow].size(); i++) {
int shed = graph[cow][i];
if (visit[shed])
continue;
visit[shed] = true;
if (node[shed] == 0 || dfs(node[shed])) {
node[shed] = cow;
return true;
}
}
return false;
}
✏️다른 이분 매칭 문제 보러가기
https://pooreumjung.tistory.com/339
[C/C++] 백준 열혈강호 문제 모음 / 백준 11375번, 백준 11376번
✏️ 문제 링크 https://www.acmicpc.net/problem/11375 11375번: 열혈강호 강호네 회사에는 직원이 N명이 있고, 해야할 일이 M개가 있다. 직원은 1번부터 N번까지 번호가 매겨져 있고, 일은 1번부터 M번까지 번
pooreumjung.tistory.com
'Algorithm > BOJ' 카테고리의 다른 글
[C/C++] 백준 1671번 - 상어의 저녁식사 (0) | 2024.04.15 |
---|---|
[C/C++] 백준 1298번 - 노트북의 주인을 찾아서 (0) | 2024.04.15 |
[C/C++] 백준 열혈강호 문제 모음 / 백준 11375번, 백준 11376번, 백준 11377번 (0) | 2024.04.14 |
[C/C++] 백준 14245번 - XOR (0) | 2024.04.13 |
[C/C++] 백준 19975번 - 수열과 쿼리 21 (0) | 2024.04.12 |
- Total
- Today
- Yesterday
- 자료구조
- 백준 풀이
- 우선순위 큐
- js
- 스택
- C++
- Do it!
- 카운팅 정렬
- 에라토스테네스의 체
- BFS
- 반복문
- CSS
- 유니온 파인드
- java
- HTML5
- 백준
- DP
- 세그먼트 트리
- 자바
- 알고리즘 공부
- 알고리즘
- c++ string
- 유클리드 호제법
- C++ Stack
- 자바스크립트
- 이분 매칭
- DFS
- html
- 스프링 부트 crud 게시판 구현
- 투 포인터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |