Algorithm/BAEKJOON (182) 썸네일형 리스트형 [BOJ] 1199번 오일러 회로 (C++) https://www.acmicpc.net/submit/1199/43870740 로그인 www.acmicpc.net #include #include #define MAX 1001 using namespace std; int N; stack adj[MAX]; int edges[MAX][MAX]; int degree[MAX]; void dfs(int n) { while (!adj[n].empty()) { int next = adj[n].top(); adj[n].pop(); if (edges[n][next] && edges[next][n]) { edges[n][next]--; edges[next][n]--; dfs(next); } } cout N; for (int i = 1; i < N + 1; i++) { .. [BOJ] 2150번 Strongly Connected Component (C++) https://www.acmicpc.net/problem/2150 2150번: Strongly Connected Component 첫째 줄에 두 정수 V(1 ≤ V ≤ 10,000), E(1 ≤ E ≤ 100,000)가 주어진다. 이는 그래프가 V개의 정점과 E개의 간선으로 이루어져 있다는 의미이다. 다음 E개의 줄에는 간선에 대한 정보를 나타내는 두 정 www.acmicpc.net #include #include #include #include #define MAX 10001 using namespace std; int v, e, id; vector a[MAX]; int d[MAX]; bool finished[MAX]; stack s; int sccNum; vector SCC; int dfs(int c.. [BOJ] 4386번 별자리 만들기 (C++) https://www.acmicpc.net/problem/4386 4386번: 별자리 만들기 도현이는 우주의 신이다. 이제 도현이는 아무렇게나 널브러져 있는 n개의 별들을 이어서 별자리를 하나 만들 것이다. 별자리의 조건은 다음과 같다. 별자리를 이루는 선은 서로 다른 두 별을 일 www.acmicpc.net #include #include #include #include using namespace std; int n; int parent[101]; vector star; vector v; int getParent(int a){ if(a == parent[a]) return a; return getParent(parent[a]); } void unionParent(int a, int b){ a = ge.. [BOJ] 2468번 안전 영역 (C++) https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net #include #include #include #include using namespace std; int n, cnt; int arr[101][101]; int fixedarr[101][101]; bool visited[101][101]; int dx[4] = { -1, 0, 0, 1 }; int dy[4] = { 0, -1, 1, 0 }; void bfs(int a, int b) { queue q;.. [BOJ] 20040번 사이클 게임 (C++) https://www.acmicpc.net/problem/20040 20040번: 사이클 게임 사이클 게임은 두 명의 플레이어가 차례대로 돌아가며 진행하는 게임으로, 선 플레이어가 홀수 번째 차례를, 후 플레이어가 짝수 번째 차례를 진행한다. 게임 시작 시 0 부터 n − 1 까지 고유한 www.acmicpc.net #include using namespace std; int n, m; int parent[500001]; int getParent(int a){ if(a == parent[a]) return a; return parent[a] = getParent(parent[a]); } void unionParent(int a, int b){ a = getParent(a); b = getParent(b).. [BOJ] 1197번 최소 스패닝 트리 (C++) https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net #include #include #include using namespace std; int v, e; int parent[10001]; int getParent(int x){ if(parent[x] == x) return x; return parent[x] = getParent(parent[x]); } void unionParent(int a, in.. [BOJ] 1717번 집합의 표현 (C++) https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 첫째 줄에 n(1 ≤ n ≤ 1,000,000), m(1 ≤ m ≤ 100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 www.acmicpc.net #include using namespace std; int n, m; int parent[1000001]; int getParent(int x){ if(parent[x] == x) return x; return parent[x] = getParent(parent[x]); } void unionParent(int a, int b){ a = getParent.. [BOJ] 21940번 가운데에서 만나기 (C++) https://www.acmicpc.net/problem/21940 21940번: 가운데에서 만나기 위 조건을 만족하는 도시 $X$의 번호를 출력한다. 만약 가능한 도시 $X$가 여러 개인 경우는 도시의 번호를 오름차순으로 출력한다. www.acmicpc.net #include #include #define INF 987654321 using namespace std; int graph[201][201]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, m; cin >> n >> m; for(int i = 1; i a >> b >> t; graph[a][b] = t; } for(int k = 1; k > c; v.push_back(c); .. 이전 1 ··· 6 7 8 9 10 11 12 ··· 23 다음