본문 바로가기

BFS20

[비트마스킹][bfs] 2234 성곽 c++구현 목차https://www.acmicpc.net/problem/2234문제 문제 구현 방향비트 마스킹을 통해 bfs로 탐색하는 식으로 풀었다. 꼭 bfs가 아니어도 dfs로도 풀 수 있다.  문제 구현 시 주의점이차원 배열에서는 아래쪽이 북쪽 방향이니 주의해야 한다.감이 안잡힌다면 일단 완전탐색이 최고인 것 같다. 코드 구현#include#include#include#include#include#include#includeusing namespace std;//주의 이차원 배열은 아래쪽이 북쪽 방향int dx[4] = { -1, 0, 1, 0 };int dy[4] = { 0, -1, 0, 1 };int M, N;int board[51][51] = { 0 };int visit[51][51] = { 0 };i.. 2024. 7. 16.
[백준][비트마스킹] 17471 게리맨더링 c++구현 목차https://www.acmicpc.net/problem/17471문제 코드 구현 방향비트 마스킹을 통해 나누어지는 경우를 모두 구하고 조건을 만족하는지 체크하여 최솟값을 갱신하였다.(영역을 색칠한는 방식으로 하면 코드를 더 간결하게 작성할 수 있었을 것 같다...) 코드 구현#include#include#include#include#include#includeusing namespace std;int N;vector person;vector adj[11];int visit[20] = { 0 };int Gap = 999;vector a;vectorb;//안에 있는지 체크 함수int incheck(int n, vector& c) { for (int i = 0; i q; q.push(start); vi.. 2024. 7. 12.
[백준][bfs] 3197 백조의 호수 c++ 구현 목차https://www.acmicpc.net/problem/3197문제 문제 구현 방향 두개의 큐를 이용해서 구현했고 두번의 bfs를 차례로 실행하여 탐색하는 방식으로 진행했다. 물의 녹음 -> 백조의 이동이것을 풀기 전에 아래 문제를 먼저 풀어보면 감이 잡힌다.(매우 유사하게 풀 수 있다)https://be-senior-developer.tistory.com/123 [백준][bfs] 14497 주난의 난 (두개의 큐를 이용한 bfs) c++ 추가 구현목차 참고: dfs와 bfs를 혼용한 방식 https://be-senior-developer.tistory.com/121  [백준][bfs] 14497 주난의 난 c++ 구현목차https://www.acmicpc.net/problem/14497문제 문제 .. 2024. 7. 4.
[백준][bfs] 14497 주난의 난 (두개의 큐를 이용한 bfs) c++ 추가 구현 목차 참고: dfs와 bfs를 혼용한 방식 https://be-senior-developer.tistory.com/121  [백준][bfs] 14497 주난의 난 c++ 구현목차https://www.acmicpc.net/problem/14497문제 문제 구현 방향bfs와 dfs를 활용하면 풀 수 있는 문제였다.bfs를 통해 경로를 계산해주고 dfs를 통해 퍼져나가는 파동을 구현해주면 된다.  코드 구현#include #be-senior-developer.tistory.com 이번에는 두 개의 큐를 이용한 방식을 통해 풀어보고자 한다.또한 가져가면 좋을 아이디어를 설명하고자 한다. 수 하나로 이차원 좌표 표현하기 // 범위가 300이라고 300을 곱하면 안된다int num = startX * 1000 + .. 2024. 6. 29.
728x90