알고리즘/문제풀이 - 백준
백준 14502 연구소
문제 : https://www.acmicpc.net/problem/14502 서론 완전탐색 + DFS/BFS 삼성문제들은 완전탐색, DFS/BFS, 시뮬레이션 안에서만 출제되는거 같다. 풀이 지도를 입력받으면서 바이러스는 따로 벡터에 좌표를 저장한다. 가벽을 3개 세우는 모든 경우의 수를 찾기 위해 완전탐색을 이용한다. 가벽을 3개 세웠으면 바이러스를 퍼뜨리기 위해 DFS를 이용한다. 그 후 바이러스가 퍼지지 않은곳들을 세어본다. void bf(int idx, int y, int x){ if(map[y][x] > 0) return; // 바이러스거나 벽이면 리턴 map[y][x] = 3; // 가벽은 3으로 마크 if(idx == 2){ // 가벽을 3개 세웠다면 for(i : virus) dfs(i);..
2019. 10. 18. 11:29
최근댓글