본문 바로가기
PS(Problem Solving)/백준_BOJ

[백준] 21922번 - 학부 연구생 민상 (C++) 문제 및 풀이

by 초코칩프라푸치노 2022. 2. 21.

문제) 백준 - 구현 - 학부 연구생 민상

https://www.acmicpc.net/problem/21922

 

21922번: 학부 연구생 민상

첫 번째 줄에는 연구실의 크기가 세로 $N(1 \le N \le 2,000)$, 가로 $M(1 \le M \le 2,000)$ 순으로 주어진다. 두 번째 줄부터 $N + 1$ 줄까지 연구실 내부 구조 정보를 알려주는 값 $M$개가 주어진다. $1,2,3,4$

www.acmicpc.net

 

놓인 물건 종류의 따라 에어컨 바람이 지날 수 있는 자리의 수를 찾는 문제였습니다. DFS를 통해 놓인 물건에 따라 연구실을 탐색합니다. 방문 여부를 체크할 때, 다른 방향에서 온 바람은 지날 수 있기에 visited배열을 visited[MAX][MAX][4]로 선언합니다. 에어컨이 놓인 네 방향에 대하여 DFS를 진행한 후, 연구실을 방문했던 칸을 모두 계산하여 출력하면 해결할 수 있습니다.

 

C++ 소스코드)

Full Code)

https://github.com/Chocochip101/BOJ_Solution/blob/main/Solution/21922_%ED%95%99%EB%B6%80%EC%97%B0%EA%B5%AC%EC%83%9D%EB%AF%BC%EC%83%81.cpp

 

GitHub - Chocochip101/BOJ_Solution: BOJ Solutions

BOJ Solutions. Contribute to Chocochip101/BOJ_Solution development by creating an account on GitHub.

github.com

반응형

댓글