본문 바로가기

Algorithm350

[BOJ]13913번: 숨바꼭질 4 (c++) https://www.acmicpc.net/problem/13913 13913번: 숨바꼭질 4수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 ��www.acmicpc.net #include #include #include using namespace std;const int MAX = 100000;int cost[MAX + 1];int bf_idx[MAX + 1];bool possible(int n){ return !(n MAX);}// next로 이동 가능하면 큐에 push// cost와 bf_idx배열에 각각 이동횟수, 현재 .. 2020. 5. 29.
[BOJ]1697번: 숨바꼭질 (c++) https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가www.acmicpc.net #include #include #include using namespace std;const int MAX = 100000;int cost[MAX + 1];bool inline possible(int n){ return !(n MAX);}int bfs(int N, int K){ queue q; q.push(N); while (!q.empty()) { int q_now .. 2020. 5. 29.
[BOJ]2146번: 다리 만들기 (c++) https://www.acmicpc.net/problem/2146 2146번: 다리 만들기여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다www.acmicpc.net  #include #include #include #include using namespace std;int dir_x[4] = { 0, 1, 0, -1 };int dir_y[4] = { 1, 0, -1, 0 };enum {BOUNDARY = 0, MAX = 100};struct info { int island, cost;};// map 범위 내인지 검사bool reachable(vector>& map, .. 2020. 5. 29.
[BOJ]16964번: DFS 스페셜 저지 (c++) https://www.acmicpc.net/problem/16964 16964번: DFS 스페셜 저지 첫째 줄에 정점의 수 N(2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에는 트리의 간선 정보가 주어진다. 마지막 줄에는 DFS 방문 순서가 주어진다. DFS 방문 순서는 항상 N개의 정수로 이루� www.acmicpc.net 방법 1: 입력순서대로 인접리스트를 정렬 후 dfs 재귀함수 호출 #include #include #include using namespace std; const int MAX = 100000; bool visited[MAX + 1]; int test_idx; // 입력으로 주어진 DFS 방문순서가 올바른지 검사 bool dfs(vector& graph, ve.. 2020. 5. 29.