๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)315

[๋ฐฑ์ค€,c++] 1197๋ฒˆ - ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ 1197๋ฒˆ: ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ V(1 ≤ V ≤ 10,000)์™€ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ E(1 ≤ E ≤ 100,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ E๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ๊ฐ„์„ ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์„ธ ์ •์ˆ˜ A, B, C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋Š” A๋ฒˆ ์ •์ ๊ณผ B๋ฒˆ ์ •์ ์ด www.acmicpc.net // Copyright © 2021 ์•ˆ์ฃผํ˜•. All rights reserved. // ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜(์ตœ์†Œ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ) // https://www.acmicpc.net/problem/1197 // BOJ1197 ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ #include #include #include using namespace std; int V, E; // V=์ •์ ์˜ ๊ฐœ์ˆ˜, E=๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ int parent[10001]; //๋ถ€๋ชจ .. 2021. 11. 2.
[๋ฐฑ์ค€,c++] 11931๋ฒˆ - ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ4 ๋ฌธ์ œ 11931๋ฒˆ: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 4 ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ์ˆ˜๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค. www.acmicpc.net ์ฝ”๋“œ #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); int T; cin >> T; vectormap; while (T--) { int number; cin >> number; map.push_back(number); } sort(map.begin(), map.end(), greater()); for (int i : map.. 2021. 11. 2.
[๋ฐฑ์ค€,c++] 11866๋ฒˆ - ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ0 11866๋ฒˆ: ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ 0 ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int N, K; cin >> N>>K; queueq; for (int i = 1; i 2021. 11. 2.
[๋ฐฑ์ค€,c++] 1182๋ฒˆ - ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ 1182๋ฒˆ: ๋ถ€๋ถ„์ˆ˜์—ด์˜ ํ•ฉ ์ฒซ์งธ ์ค„์— ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” N๊ณผ ์ •์ˆ˜ S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) ๋‘˜์งธ ์ค„์— N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜์˜ ์ ˆ๋Œ“๊ฐ’์€ 100,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. www.acmicpc.net #include using namespace std; int arr[20]; int ans=0; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int N,S; cin>>N>>S; for(int i=0; i>arr[i]; } for(int i=1; i 2021. 11. 1.
[๋ฐฑ์ค€,c++] 1181๋ฒˆ - ๋‹จ์–ด์ •๋ ฌ 1181๋ฒˆ: ๋‹จ์–ด ์ •๋ ฌ ์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 20,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 50์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. www.acmicpc.net ํ’€์ด1 #include #include #include #include using namespace std; vectorv; bool desc(string a,string b) { if (a.length() == b.length()) return a < b; //๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฉด ์‚ฌ์ „์ˆœ์œผ๋กœ ์ •๋ ฌ else return a.length() < b.length(); //๊ธธ์ด๊ฐ€ ๋‹ค๋ฅด๋ฉด ์งง์€ ๊ฒƒ ๋ถ€ํ„ฐ ์ •๋ ฌ } int main() { ios_base::sync_wi.. 2021. 10. 31.
[๋ฐฑ์ค€,c++] 11780๋ฒˆ - ํ”Œ๋กœ์ด๋“œ2 11780๋ฒˆ: ํ”Œ๋กœ์ด๋“œ 2 ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ n์ด ์ฃผ์–ด์ง€๊ณ  ๋‘˜์งธ ์ค„์—๋Š” ๋ฒ„์Šค์˜ ๊ฐœ์ˆ˜ m์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์…‹์งธ ์ค„๋ถ€ํ„ฐ m+2์ค„๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฒ„์Šค์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋จผ์ € ์ฒ˜์Œ์—๋Š” ๊ทธ ๋ฒ„์Šค์˜ ์ถœ๋ฐœ ๋„์‹œ์˜ ๋ฒˆํ˜ธ๊ฐ€ www.acmicpc.net #include #include #define INF 1e9 //๋ฌดํ•œ์„ ์˜๋ฏธํ•˜๋Š” ๊ฐ’์œผ๋กœ 10์–ต์„ ์ง€์ • using namespace std; int graph[101][101]; int n, m,cnt; //n=๋„์‹œ์˜ ๊ฐœ์ˆ˜, m=๋ฒ„์Šค์˜ ๊ฐœ์ˆ˜ int path[101][101]; void findCost(int a, int b) { //๊ฒฝ๋กœ์— ํฌํ•จ๋œ ๋„์‹œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜ if (path[a][b] != INF) { cnt++; findCost(a, path[a.. 2021. 10. 31.
[๋ฐฑ์ค€,c++] 11779๋ฒˆ - ์ตœ์†Œ๋น„์šฉ ๊ตฌํ•˜๊ธฐ2 11779๋ฒˆ: ์ตœ์†Œ๋น„์šฉ ๊ตฌํ•˜๊ธฐ 2 ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ n(1≤n≤1,000)์ด ์ฃผ์–ด์ง€๊ณ  ๋‘˜์งธ ์ค„์—๋Š” ๋ฒ„์Šค์˜ ๊ฐœ์ˆ˜ m(1≤m≤100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์…‹์งธ ์ค„๋ถ€ํ„ฐ m+2์ค„๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฒ„์Šค์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋จผ์ € ์ฒ˜์Œ์—๋Š” ๊ทธ ๋ฒ„์Šค www.acmicpc.net #include #include #include #define INF 1e9 //๋ฌดํ•œ์„ ๋œปํ•˜๋Š” ๊ฐ’์œผ๋กœ 10์–ต์„ ์ง€์ •. using namespace std; vectorgraph[1001]; int d[1001];//๋น„์šฉ์„ ์ €์žฅํ•ด๋‘๋Š” ํ…Œ์ด๋ธ” int N, M, start, fin; //N=๋„์‹œ(๋…ธ๋“œ)์˜ ๊ฐœ์ˆ˜, M=๋ฒ„์Šค(๊ฐ„์„ )์˜ ๊ฐœ์ˆ˜ ,start=์‹œ์ž‘์ , fin=๋„์ฐฉ์  int route[1001]; //์ตœ์†Œ๋น„์šฉ์„ ๊ฐ–๋Š” ๊ฒฝ๋กœ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋Š” ๋„.. 2021. 10. 31.
[๋ฐฑ์ค€,c++] 11728๋ฒˆ - ๋ฐฐ์—ดํ•ฉ์น˜๊ธฐ 11728๋ฒˆ: ๋ฐฐ์—ด ํ•ฉ์น˜๊ธฐ ์ฒซ์งธ ์ค„์— ๋ฐฐ์—ด A์˜ ํฌ๊ธฐ N, ๋ฐฐ์—ด B์˜ ํฌ๊ธฐ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N, M ≤ 1,000,000) ๋‘˜์งธ ์ค„์—๋Š” ๋ฐฐ์—ด A์˜ ๋‚ด์šฉ์ด, ์…‹์งธ ์ค„์—๋Š” ๋ฐฐ์—ด B์˜ ๋‚ด์šฉ์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฐฐ์—ด์— ๋“ค์–ด์žˆ๋Š” ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 109๋ณด๋‹ค ์ž‘๊ฑฐ www.acmicpc.net #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int a_size, b_size; cin >> a_size >> b_size; vectora(a_size); vectorb(b_size); for (int i = 0; i > a[i]; } for (.. 2021. 10. 31.
[๋ฐฑ์ค€,c++] 11725๋ฒˆ - ํŠธ๋ฆฌ์˜ ๋ถ€๋ชจ ์ฐพ๊ธฐ 11725๋ฒˆ: ํŠธ๋ฆฌ์˜ ๋ถ€๋ชจ ์ฐพ๊ธฐ ๋ฃจํŠธ ์—†๋Š” ํŠธ๋ฆฌ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, ํŠธ๋ฆฌ์˜ ๋ฃจํŠธ๋ฅผ 1์ด๋ผ๊ณ  ์ •ํ–ˆ์„ ๋•Œ, ๊ฐ ๋…ธ๋“œ์˜ ๋ถ€๋ชจ๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. www.acmicpc.net #include #include using namespace std; vectorgraph[100001]; int visited[100001]; int tracking[100001]; void dfs(int x){ visited[x]=1; for(int i=0; i>N; for(int i=0; i>a>>b; graph[a].push_back(b); graph[b].push_back(a); } for(int i=1; i 2021. 10. 31.