본문 바로가기

PS/BOJ75

[백준] 2667. 단지번호붙이기(c++) https://www.acmicpc.net/problem/2667전형적인 완탐 bfs 문제였다. #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int dy[4] = { 0,0,1,-1 };int dx[4] = { 1,-1,0,0 };int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, cnt =0; cin >> n; vector arr(n); vector> visited(n, vector(n)); queue> q.. 2025. 3. 2.
[백준] 2583. 영역 구하기(c++) https://www.acmicpc.net/problem/2583영역 구하기.... 좌표 정의를 잘해야했다.그림대로만 하면 된다. #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int dx[4] = { 0,0,1,-1 };int dy[4] = { 1,-1,0,0 };bool visited[101][101] = { 0 };int arr[101][101] = { 0 };int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int m, n, k; .. 2025. 3. 2.
[백준] 5427. 불(c++) https://www.acmicpc.net/problem/5427불!의 형제 문제다.불을 먼저 bfs를 돌린 후, 상근이가 지나갈 때 해당 칸에 불이 지나갔을 때의 value보다 상근이의 valuer가 낮을 때 진행할 수 있는 방식으로 풀었다. #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int dx[4] = {0, 0, -1, 1};int dy[4] = {-1, 1, 0, 0};// int arr[1001][1001] = {0};// int fire_visited[1001][1001] = {0};// int visited.. 2025. 3. 2.
[백준] 7562. 나이트의 이동(c++) https://www.acmicpc.net/problem/7562나이트는 상하좌우가 아니라 자유분방해서 요규사항에 맞는 dx, dy를 정의하여 푸는 문제였다. #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int dx[8] = {2, 2, -2, -2, 1, -1, 1, -1};int dy[8] = {1, -1, 1, -1, 2, 2, -2, -2};int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin >> t; w.. 2025. 3. 2.
[백준] 7569. 토마토(c++) https://www.acmicpc.net/problem/75693차원 토마토다..!이전에 풀었을 때는 구조체로 3차원 배열을 받을 수 있게 했었는데, pair 안에 pair를 쓰는 것은 depth가 깊어져 지양해야 겠다는 생각을 했다.구조체를 활용하자#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int dx[6] = {0, 0, -1, 1, 0, 0};int dy[6] = {-1, 1, 0, 0, 0, 0};int dz[6] = {0, 0, 0, 0, 1, -1};int arr[101][101][101] = {0};int .. 2025. 3. 2.
[백준] 10026. 적록색약(c++) https://www.acmicpc.net/problem/10026적록색약일 때 새로운 bfs를 추가해서 풀었다. (red, green을 함께 포함하는 조건)한 반복문 안에서 분기를 나눠서 풀려고 하자. #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int dx[4] = {0, 0, 1, -1};int dy[4] = {1, -1, 0, 0};int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; int non_cn.. 2025. 3. 2.