본문 바로가기

그래프 탐색3

2589 : 보물섬 (C++) 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net 먼저 바다인 칸은 visit배열에 방문표시를 해놓고 접근하지 못하도록 한다. 칸을 한개씩 한개씩 검사하며 육지인칸이 나온다면 그 육지인 칸에서 BFS탐색을 실행하여 가장 긴 시간이 걸리는 길을 탐색하여 저장해서 결과값을 낸다. #include #include #include #include using namespace std; char map[50][50]; int map_search[50][50]; bool visit[50][50]; bool visit_searc.. 2021. 2. 24.
14502 : 연구소 (C++) 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 6중 for문...! 을 사용해서 문제를 해결했다! 수영장에서 일하면서 문제를 어떻게 해결할지 생각하고 쉬는시간인 지금에 문제를 잘 풀었다. 못 풀것 같았는데 맞았습니다가 떠서 기분이 좋다 희희 #include #include #include using namespace std; int N, M; int maximum = 0; int map[8][8]; int temp[8][8]; bool visit[8][8]; int dx[4] = {1, -1, 0, 0}; int dy[4.. 2021. 2. 20.
2573 : 빙산 (C++) 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 좀 코드가 긴 것 같긴하지만 열심히 잘 풀었따! #include #include #include using namespace std; int N, M, years; int map[300][300]; bool visit[300][300]; int dx[4] = {1, -1, 0, 0}; int dy[4] = {0, 0, 1, -1}; queue q; void bfs(int i, int j) { visit[i][j] = true; q.push({i, j}); .. 2021. 2. 18.