그래프탐색

문제 : https://www.acmicpc.net/problem/6593 6593번: 상범 빌딩 당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져있다. 각 정육면체는 금으로 이루어져 있어 www.acmicpc.net 어떤 문제인가? 이 문제는 기존의 2차원에서 움직이던 그래프 탐색이 아니라 3차원으로 이동해야 한다. 시작 좌표 S부터 움직여가며 도착 좌표 E까지 이동하는 게 걸리는 시간을 출력하면 된다. 접근 방법 int dx[6] = {1, -1, 0, 0, 0, 0}; int dy[6] = {0, 0, 1, -1, 0, 0}; int dz[6] = {0, 0, 0, 0, 1, -1}; 위의 배열들은 x..
문제 : https://www.acmicpc.net/problem/2589 2589번: 보물섬 첫째 줄에는 보물 지도의 세로의 크기와 가로의 크기가 빈칸을 사이에 두고 주어진다. 이어 L과 W로 표시된 보물 지도가 아래의 예와 같이 주어지며, 각 문자 사이에는 빈 칸이 없다. 보물 지도의 www.acmicpc.net 어떤 문제인가? 입력을 받으면 땅인 부분과 바다인 부분이 생긴다. 한 땅 덩어리가 하나의 연결 요소라고 생각하면 된다. 이때 연결 요소 내에서 한 정점에서 다른 정점으로 가는 최대 거리를 출력하면 되는 것이다. 접근 방법 int dx[4] = {1, -1, 0, 0}; int dy[4] = {0, 0, 1, -1}; 한 정점에서 상, 하, 좌, 우로 움직이기 위한 배열이다. char map[..
문제 : https://www.acmicpc.net/problem/1325 > n >> m; 문제에서 주어진 변수를 선언하고 입력받는다. while (m--) { int a, b; cin >> a >> b; graph[b].push_back(a); } 간선의 개수인 m번만큼 한 간선이 연결하는 두 정점을 입력받는다. 이때, 단방향 그래프임에 유의하여 b정점에 연결된 정점으로 a를 추가해준다. int maxNum = 0; vectorans; for (int i = 1; i maxNum){ maxNum=cnt; ans.clear(); ans.push_back(i); } else if(cnt ==maxNum){ ans.push_back(i); } for (int j = 0; j
팜준
'그래프탐색' 태그의 글 목록