목록생활 (730)
No Rules Rules
쉬운 최단거리 https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include using namespace std; int ans[1001][1001]{0}, dx[4]{1, 0, -1, 0}, dy[4]{0, 1, 0, -1}; bool arr[1001][1001]{false}; int main..
도로 https://www.acmicpc.net/problem/9344 9344번: 도로 어떤 나라에는 1부터 N까지 이름 붙여진 N개의 도시가 있다. 한 엔지니어는 모든 도시를 연결하는 도로를 건설하고자 한다. 즉, 모든 도시에 대해 항상 다른 어떤 도시로든 이동할 수 있어야 한다 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include using namespace std; struct node{ int u, v, w; }; bool cmp(const node& v1, const node& v2){ return v1.w < v2.w; } node arr[20000]; int vect[10001]; map vis..
핑크 플로이드 https://www.acmicpc.net/problem/6091 6091번: 핑크 플로이드 재현이는 N개의 정점으로 이루어진 트리를 가지고 있었다. 트리는 1~N까지의 번호가 정점에 매겨져 있었으며, 트리를 잇는 N-1개의 간선에는 두 정점을 잇는 거리가 저장되어 있었다. 재현이는 트 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include #include #include #include #define INF 1e9 #define endl "\n" typedef long long ll; typedef double dd; typedef std::pair pii; ty..
Parentheses Tree https://www.acmicpc.net/problem/26111 26111번: Parentheses Tree A rooted ordered tree $T$ can be expressed as a string of matched parentheses $p(T)$. The string representation $p(T)$ can be defined recursively. As a base case, a tree consisting of a single node is expressed by a pair of parentheses (). When a rooted or www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #inc..
슬슬 가지를 먹지 않으면 죽는다 https://www.acmicpc.net/problem/27945 27945번: 슬슬 가지를 먹지 않으면 죽는다 첫째 줄에 요리 학원의 수 $N$, 길의 수 $M$이 주어진다. $(2\le N\le 10^5;$ $N-1\le M\le\min\left(5\times 10^5, {N\choose 2}\right))$ 둘째 줄부터 $M$개 줄에 각 길이 연결하는 두 학원의 번호 $u_i$, $v_i$, 길에 있는 노 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; bool visit[100001]{false}; vector..
첨탑 밀어서 부수기 https://www.acmicpc.net/problem/28014 28014번: 첨탑 밀어서 부수기 첫째 줄에 첨탑의 개수 $N$이 주어진다. $(1\leq N\leq 5\,000\,000)$ 둘째 줄에는 앞에서부터 차례대로 첨탑의 높이 $H_1, H_2, \cdots, H_n (1\leq H_i\leq 1\,000\,000)$ 이 주어진다. 입력으로 주어지는 모든 수는 정 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include using namespace std; int main(){ ios::sync_with_stdio(false), cin.tie(NULL); register int N, t1 = 0, t2, cnt ..
미로만들기 https://www.acmicpc.net/problem/2665 2665번: 미로만들기 첫 줄에는 한 줄에 들어가는 방의 수 n(1 ≤ n ≤ 50)이 주어지고, 다음 n개의 줄의 각 줄마다 0과 1이 이루어진 길이가 n인 수열이 주어진다. 0은 검은 방, 1은 흰 방을 나타낸다. www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; int N, arr[51][51]{0}, dx[4]{1, -1, 0, 0}, dy[4]{0, 0, 1, -1}; bool visit[51][51]{false}; int bfs(register int x, regis..
크리스마스 선물 https://www.acmicpc.net/problem/14235 14235번: 크리스마스 선물 크리스마스에는 산타가 착한 아이들에게 선물을 나눠준다. 올해도 산타는 선물을 나눠주기 위해 많은 노력을 하고 있는데, 전세계를 돌아댕기며 착한 아이들에게 선물을 나눠줄 것이다. 하지만 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include using namespace std; int main(){ ios::sync_with_stdio(false), cin.tie(NULL); register int N; priority_queue q; cin >> N; for(register int n = 0, a; n < N; +..
학교 탐방하기 https://www.acmicpc.net/problem/13418 13418번: 학교 탐방하기 입력 데이터는 표준 입력을 사용한다. 입력은 1개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 건물의 개수 N(1 ≤ N ≤ 1,000)과 도로의 개수 M(1 ≤ M ≤ N(N-1)/2) 이 주어진다. 입력의 두 번 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include using namespace std; int N, M; bool visit[1001]; vector arr[1001]; int worst_case(){ memset(visit, false, N +..
고속철도 설계하기 https://www.acmicpc.net/problem/1833 1833번: 고속철도 설계하기 첫째 줄에 자연수 N이 주어진다. 다음 N개의 줄에는 인접행렬 형태로 두 도시 사이에 고속철도를 설치할 때 드는 비용이 주어진다. 이 비용은 각각 10,000을 넘지 않는 자연수이다. 만약 비용이 음 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; struct Node{ int cost; int from; int to; }; struct cmp{ bool operator()(Node& v1, Node& v2){ if(v1.cost == v..