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

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

[๋ฐฑ์ค€,c++] 1068๋ฒˆ - ํŠธ๋ฆฌ ๋ฌธ์ œ 1068๋ฒˆ: ํŠธ๋ฆฌ ์ฒซ์งธ ์ค„์— ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” 0๋ฒˆ ๋…ธ๋“œ๋ถ€ํ„ฐ N-1๋ฒˆ ๋…ธ๋“œ๊นŒ์ง€, ๊ฐ ๋…ธ๋“œ์˜ ๋ถ€๋ชจ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋งŒ์•ฝ ๋ถ€๋ชจ๊ฐ€ ์—†๋‹ค๋ฉด (๋ฃจํŠธ) -1์ด ์ฃผ์–ด์ง„๋‹ค www.acmicpc.net ์ฝ”๋“œ #include #include #include using namespace std; vectorv[51]; bool visited[51]; int N, root; int cnt; void dfs(int start){ if(v[start].empty()){ cnt++; return; } else if(v[start].size()==1){ if(visited[v[start].front()] == true) cnt++; } for(auto it: v.. 2022. 6. 21.
[๋ฐฑ์ค€,c++] 5539๋ฒˆ - ์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ ๋ฌธ์ œ 5639๋ฒˆ: ์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ ํŠธ๋ฆฌ๋ฅผ ์ „์œ„ ์ˆœํšŒํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋…ธ๋“œ์— ๋“ค์–ด์žˆ๋Š” ํ‚ค์˜ ๊ฐ’์€ 106๋ณด๋‹ค ์ž‘์€ ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ๋ชจ๋“  ๊ฐ’์€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง€๋ฉฐ, ๋…ธ๋“œ์˜ ์ˆ˜๋Š” 10,000๊ฐœ ์ดํ•˜์ด๋‹ค. ๊ฐ™์€ ํ‚ค๋ฅผ ๊ฐ€์ง€๋Š” ๋…ธ๋“œ๋Š” ์—†๋‹ค www.acmicpc.net ์ฝ”๋“œ #include #include using namespace std; vectorv; void postorder(int start, int end){ if(start>end) return; if(start==end){ cout 2022. 6. 21.
[๋ฐฑ์ค€,c++] 9934๋ฒˆ - ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ ๋ฌธ์ œ 9934๋ฒˆ: ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ ์ƒ๊ทผ์ด๋Š” ์Šฌ๋กœ๋ฒ ๋‹ˆ์•„์˜ ๋„์‹œ Donji Andrijevci๋ฅผ ์—ฌํ–‰ํ•˜๊ณ  ์žˆ๋‹ค. ์ด ๋„์‹œ์˜ ๋„๋กœ๋Š” ๊นŠ์ด๊ฐ€ K์ธ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๋‹ค. ๊นŠ์ด๊ฐ€ K์ธ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ๋Š” ์ด 2K-1๊ฐœ์˜ ๋…ธ๋“œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. (์•„๋ž˜ www.acmicpc.net ์ฝ”๋“œ #include #include #include using namespace std; vectorheight[1025]; vectorv(1025); void inorder(int start, int end, int level){ if(start > end) return; int mid = (start+end)/2; height[level].push_back(v[mid]); inorder(start, mid-1, level+1).. 2022. 6. 21.
[๋ฐฑ์ค€,c++] 1655๋ฒˆ - ๊ฐ€์šด๋ฐ๋ฅผ ๋งํ•ด์š” ๋ฌธ์ œ 1655๋ฒˆ: ๊ฐ€์šด๋ฐ๋ฅผ ๋งํ•ด์š” ์ฒซ์งธ ์ค„์—๋Š” ๋ฐฑ์ค€์ด๊ฐ€ ์™ธ์น˜๋Š” ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๊ทธ ๋‹ค์Œ N์ค„์— ๊ฑธ์ณ์„œ ๋ฐฑ์ค€์ด๊ฐ€ ์™ธ์น˜๋Š” ์ •์ˆ˜๊ฐ€ ์ฐจ๋ก€๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ •์ˆ˜๋Š” -1 www.acmicpc.net ์ฝ”๋“œ #include #include #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); priority_queue left; priority_queue right; int N; cin>>N; for(int i=1; i>inp; if(i==1) left.push(inp); else if(right.empty()){ if(left.top(.. 2022. 6. 21.
[๋ฐฑ์ค€,c++] 12764๋ฒˆ - ์‹ธ์ง€๋ฐฉ์— ๊ฐ„ ์ค€ํ•˜ ๋ฌธ์ œ 12764๋ฒˆ: ์‹ธ์ง€๋ฐฉ์— ๊ฐ„ ์ค€ํ•˜ ์ฒซ์งธ ์ค„์— ์‚ฌ๋žŒ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” \(N\)์ด ์ฃผ์–ด์ง„๋‹ค. \((1 \le N \le 100,000)\) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ \(N\)๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ๊ฐ ์‚ฌ๋žŒ์˜ ์ปดํ“จํ„ฐ ์ด์šฉ ์‹œ์ž‘ ์‹œ๊ฐ \(P\)์™€ ์ข…๋ฃŒ ์‹œ๊ฐ \(Q\)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. \((0 \le P \lt Q \le 1,000 www.acmicpc.net ์ฝ”๋“œ #include #include #include #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int N; cin>>N; priority_queue min_heap; // {๋๋‚˜๋Š” ์‹œ๊ฐ„, ์ขŒ์„๋ฒˆํ˜ธ} priority_queue seats; // {์ขŒ์„๋ฒˆํ˜ธ, ๋๋‚˜.. 2022. 6. 20.
[๋ฐฑ์ค€,c++] 17255๋ฒˆ - N์œผ๋กœ ๋งŒ๋“ค๊ธฐ ๋ฌธ์ œ 17255๋ฒˆ: N์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (0 ≤ N ≤ 10,000,000) www.acmicpc.net ์ฝ”๋“œ #include #include #include using namespace std; string s; map visited; void dfs(int left, int right, string now, set temp){ if(now.length()>=s.length()){ if(now == s) visited[temp] = 1; return; } if(left>0){ temp.insert(s[left-1]+now); dfs(left-1, right, s[left-1]+now, temp); temp.erase(s[left-1]+now); } if(right>s; for.. 2022. 6. 20.
[๋ฐฑ์ค€,c++] 19537๋ฒˆ - ์‹ธ์ด๋ฒ„๊ฐœ๊ฐ•์ดํšŒ ๋ฌธ์ œ 19583๋ฒˆ: ์‹ธ์ด๋ฒ„๊ฐœ๊ฐ•์ดํšŒ ์ฒซ๋ฒˆ์งธ ์ค„์—๋Š” ๊ฐœ๊ฐ•์ดํšŒ๋ฅผ ์‹œ์ž‘ํ•œ ์‹œ๊ฐ„ S, ๊ฐœ๊ฐ•์ดํšŒ๋ฅผ ๋๋‚ธ ์‹œ๊ฐ„ E, ๊ฐœ๊ฐ•์ดํšŒ ์ŠคํŠธ๋ฆฌ๋ฐ์„ ๋๋‚ธ ์‹œ๊ฐ„ Q๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (00:00 ≤ S < E < Q ≤ 23:59) ๊ฐ ์‹œ๊ฐ„์€ HH:MM์˜ ํ˜•์‹์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ๋‘๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ๋Š” www.acmicpc.net ์ฝ”๋“œ #include #include #include #include #include using namespace std; vector parsing_time(string s){ istringstream ss(s); string stringbuffer; vector v; while(getline(ss,stringbuffer, ':')){ v.push_back(stringbuffer); } return v; } vector.. 2022. 6. 20.
[๋ฐฑ์ค€,c++] 10546๋ฒˆ - ๋ฐฐ๋ถ€๋ฅธ ๋งˆ๋ผํ† ๋„ˆ ๋ฌธ์ œ 10546๋ฒˆ: ๋ฐฐ๋ถ€๋ฅธ ๋งˆ๋ผํ† ๋„ˆ ๋งˆ๋ผํ† ๋„ˆ๋ผ๋ฉด ๊ตญ์ ๊ณผ ๋‚˜์ด๋ฅผ ๋ถˆ๋ฌธํ•˜๊ณ  ๋ˆ„๊ตฌ๋‚˜ ์ฐธ๊ฐ€ํ•˜๊ณ  ์‹ถ์–ดํ•˜๋Š” ๋ฐฑ์ค€ ๋งˆ๋ผํ†ค ๋Œ€ํšŒ๊ฐ€ ์—ด๋ฆฐ๋‹ค. 42.195km๋ฅผ ๋‹ฌ๋ฆฌ๋Š” ์ด ๋งˆ๋ผํ†ค์€ ๋ชจ๋‘๊ฐ€ ์ฐธ๊ฐ€ํ•˜๊ณ  ์‹ถ์–ดํ–ˆ๋˜ ๋งŒํผ ๋งค๋…„ ๋ชจ๋‘๊ฐ€ ์™„์ฃผํ•ด์™”๋‹ค. ๋‹จ, ํ•œ ๋ช… www.acmicpc.net ์ฝ”๋“œ #include #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int N; cin>>N; string name; unordered_map umap; for(int i=0; i>name; umap[name]++; } for(int i=0; i>name; umap[name]--; } for(auto it = umap.begin(); it!.. 2022. 6. 19.
[๋ฐฑ์ค€,c++] 5430๋ฒˆ - AC ๋ฌธ์ œ 5430๋ฒˆ: AC ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด์„œ, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ •์ˆ˜ ๋ฐฐ์—ด์— ํ•จ์ˆ˜๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ, ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ์—๋Š” error๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ์ฝ”๋“œ #include #include #include #include #include #include using namespace std; void parsing(string s, deque &dq){ istringstream ss(s); string stringbuffer; while(getline(ss, stringbuffer, ',')){ dq.push_back(stoi(stringbuffer)); } } int main(){ int T; cin>>T; while(T--){ string cmd; cin>>c.. 2022. 6. 19.