목록알고리즘/백준 문제풀이 (4)
IT's 2 EG
www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. www.acmicpc.net 더보기 #include #include #include #include #include #include using namespace std; typedef pair node; int V, E; //V: 정점의 개수, E: 간선의 개수 int sp; bool visited[20001]; int dist[20001]; vector graph[20001]; priority_queuePQ; ..
www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 �� www.acmicpc.net 더보기 #include #include #include using namespace std; queue Que; int visit[100001] = { 0, }; int dist[100001] = { 0, }; int main(int argc, char* argv[]) { int n, k; //형의 위치, 동생의 위치 scanf("%d %d", &n, &k); Que.push(n..
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 더보기 #include #include #include using namespace std; int n, m; // 정점, 간선 int v; // 탐색을 시작할 정점의 번호 int s, e; //시작점, 끝점 int matrix[1002][1002]; int visit[1002]; queue Q; int check[1002]; // DFS 함수 void dfs..
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 더보기 #include #include #include #include using namespace std; int n, m; //미로의 행(n), 열(m)의 수 int map[101][101]; //미로 map int result[101][101]; //탐색 결과 queue Q; // 이동 경로에 대한 좌표값(상, 하, 우, 좌) int dx[] = { 0, 0, 1, -1 }; int dy[] = { 1, -1, 0, 0 }..