๋ชฉ๋ก๐Ÿ‘Š PS/Algorithm (71)

hades

[Baekjoon] 7569๋ฒˆ: ํ† ๋งˆํ† 

๐Ÿฅ… ๋ฌธ์ œhttps://www.acmicpc.net/problem/7569 ๐Ÿ” ์„ค๊ณ„์ต์€ ํ† ๋งˆํ† ๊ฐ€ ์ธ์ ‘ํ•œ ์ต์ง€ ์•Š์€ ํ† ๋งˆํ† ์— ์˜ํ–ฅ์„ ์ค€๋‹ค. BFS ๋ฌธ์ œ๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•„์ฐจ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ฒ˜์Œ์— ์ต์€ ํ† ๋งˆํ† ๋ฅผ ํ์— ๋‹ด๋Š”๋‹ค. ๋‚ ๋งˆ๋‹ค ์ต์€ ํ† ๋งˆํ† ์˜ ์˜ํ–ฅ๋ ฅ์„ ํ–‰์‚ฌํ•œ๋‹ค. ์ฃผ๋ณ€์˜ ํ† ๋งˆํ† ๊ฐ€ ์ต์ง€ ์•Š์€ ํ† ๋งˆํ† ๋ผ๋ฉด, ์ต๊ฒŒ ๋งŒ๋“ค๊ณ , ๊ทธ ํ† ๋งˆํ† ๋ฅผ ํ์— ๋‹ด๋Š”๋‹ค. ์ฃผ์˜ํ•ด์•ผํ•  ๊ฒƒ์€ ๋‚ ๋งˆ๋‹ค ์ต์€ ํ† ๋งˆํ† ์˜ ์˜ํ–ฅ๋ ฅ์„ ํ–‰์‚ฌํ–ˆ๋Š”๋ฐ, ์˜ํ–ฅ์„ ๋ฐ›์€ ํ† ๋งˆํ† ๊ฐ€ ์—†๋‹ค๋ฉด, day๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด ์•ˆ๋œ๋‹ค. ๐Ÿ‘Š ํ’€์ด#include #include using namespace std;int dh[] = { -1,1,0,0,0,0 };int dl[] = { 0,0,0,0, -1,1 };int dw[] = { 0,0,-1,1,0,0 };int m, n, h, da..

๐Ÿ‘Š PS/Algorithm 2024. 7. 16. 19:52
[Baekjoon] 5430๋ฒˆ: AC

๐Ÿฅ… ๋ฌธ์ œhttps://www.acmicpc.net/problem/5430 ๐Ÿ” ์„ค๊ณ„R์ด๋ฉด ๋’ค์ง‘๊ณ , D์ด๋ฉด ๋งจ ์•ž์— ์žˆ๋Š” ์ˆซ์ž๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•˜๋Š”๋ฐ, R์ผ ๋•Œ๋งˆ๋‹ค ๋’ค์ง‘๋Š”๋ฐ ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋œ๋‹ค.๋”ฐ๋ผ์„œ, ์•ž ๋’ค์—์„œ ์‚ญ์ œ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฑ์„ ์ด์šฉํ•œ๋‹ค. ์ž…๋ ฅ์— ๊ด„ํ˜ธ์™€ ์‰ผํ‘œ๊ฐ€ ํฌํ•จ๋˜์–ด ์ž…๋ ฅ๋˜๋ฏ€๋กœ, ์กฐ๊ฑด๋ฌธ์„ ํ†ตํ•ด ์ˆซ์ž๋“ค์„ ๋‹ด์•„์•ผ ํ•œ๋‹ค.[ ๋ผ๋ฉด ์ถ”๊ฐ€์ ์ธ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค., ๋˜๋Š” ] ๋ผ๋ฉด ์ˆซ์ž๋ฅผ ๋ฑ์— ๋‹ด๋Š”๋‹ค.์ด์™ธ๋ผ๋ฉด, ์ˆซ์ž๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค. ์ถœ๋ ฅ, ์‚ญ์ œํ•  ๋•Œ ์•ž์—์„œ๋ถ€ํ„ฐ ํ• ์ง€ ๋’ค์—์„œ๋ถ€ํ„ฐ ํ• ์ง€ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด sign์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์˜€๋‹ค. 0์ด๋ฉด ์•ž์—์„œ๋ถ€ํ„ฐ, 1์ด๋ฉด ๋’ค์—์„œ๋ถ€ํ„ฐ, 2์ด๋ฉด ๋น„์–ด์žˆ๋Š”๋ฐ ์‚ญ์ œํ•ด์„œ error์ธ ๊ฒฝ์šฐ์ด๋‹ค. ๐Ÿ‘Š ํ’€์ด#include #include #include using namespace std;..

๐Ÿ‘Š PS/Algorithm 2024. 7. 15. 10:08
[Baekjoon] 2630๋ฒˆ: ์ƒ‰์ข…์ด ๋งŒ๋“ค๊ธฐ

๐Ÿฅ… ๋ฌธ์ œhttps://www.acmicpc.net/problem/2630 ๐Ÿ” ์„ค๊ณ„ํ˜„์žฌ ์ƒ‰์ข…์ด์˜ ๋ชจ๋“  ์นธ์˜ ์ƒ‰์ด ๊ฐ™์ง€ ์•Š์œผ๋ฉด 4๋“ฑ๋ถ„ํ•ด ๋‚˜๊ฐ€๋Š” ๋ฌธ์ œ์ด๋‹ค. ์žฌ๊ท€๋กœ ํ•ด๊ฒฐํ•  ๋•Œ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ณ„์‚ฐํ•ด๋ณด๋ฉด, O(2^7*2^7+2^6*2^6*2^2+2^5*2^5*2^2*2^2...)=O(2^14*8)=O(2^17)์ด๋ฏ€๋กœ, ์‹œ๊ฐ„ ์ œํ•œ 1์ดˆ ๋‚ด์— ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์žฌ๊ท€ํ•จ์ˆ˜์— ์‹œ์ž‘์ ๊ณผ ํ˜„์žฌ ์ƒ‰์ข…์ด์˜ ๋ณ€์˜ ๊ธธ์ด๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. ์นธ์˜ ์ƒ‰์ด ํ•˜๋‚˜๋ผ๋„ ๋‹ค๋ฅด๋ฉด ์ž˜๋ผ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„๊ต ๋Œ€์ƒ์€ ์‹œ์ž‘์ ์˜ ์ƒ‰์œผ๋กœ ํ•˜์˜€๋‹ค.  ํ˜„์žฌ ์ƒ‰์ข…์ด์˜ ๋ชจ๋“  ์นธ์„ ํ™•์ธํ•˜๋ฉด์„œ ๋‹ค๋ฅธ ์ƒ‰์„ ๊ฐ€์ง„ ์นธ์ด ์žˆ๋‹ค๋ฉด, 4๋“ฑ๋ถ„ํ•œ ์ƒ‰์ข…์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ํ˜„์žฌ ์ƒ‰์ข…์ด์˜ ๋ชจ๋“  ์นธ์„ ํ™•์ธํ•˜๋ฉด์„œ ๋‹ค๋ฅธ ์ƒ‰์„ ๊ฐ€์ง„ ์นธ์ด ์—†๋‹ค๋ฉด, ์‹œ์ž‘์ ์˜ ์ƒ‰๊ณผ ๋ชจ๋‘ ๊ฐ™๋‹ค๋Š” ์˜๋ฏธ์ด๋ฏ€..

๐Ÿ‘Š PS/Algorithm 2024. 7. 11. 18:13
[Baekjoon] 2579๋ฒˆ: ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ

๐Ÿฅ… ๋ฌธ์ œhttps://www.acmicpc.net/problem/2579 ๐Ÿ” ์„ค๊ณ„์‹œ์ž‘์ ์€ ๊ณ„๋‹จ์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค. ํ•œ ๊ณ„๋‹จ์—์„œ๋Š” ๋‹ค์Œ ๊ณ„๋‹จ์ด๋‚˜ ๋‹ค๋‹ค์Œ ๊ณ„๋‹จ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.๋งˆ์ง€๋ง‰ ๊ณ„๋‹จ์€ ๋ฌด์กฐ๊ฑด ๋ฐŸ์•„์•ผ ํ•œ๋‹ค. ์žฌ๊ท€๋กœ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด, ๊ณ„๋‹จ์˜ ๊ฐœ์ˆ˜๊ฐ€ 300๊ฐœ์ด๋ฏ€๋กœ, O(2^300)์ด๋ฏ€๋กœ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ์ด๋‹ค. ์–ด๋–ค ๊ณ„๋‹จ๊นŒ์ง€์˜ ์ ์ˆ˜ ์ค‘ ์ตœ๋Œ“๊ฐ’์€ ์ „ ๊ณ„๋‹จ๊นŒ์ง€์˜ ์ ์ˆ˜+์–ด๋–ค ๊ณ„๋‹จ์˜ ์ ์ˆ˜์™€ ์ „์ „ ๊ณ„๋‹จ๊นŒ์ง€์˜ ์ ์ˆ˜+์–ด๋–ค ๊ณ„๋‹จ์˜ ์ ์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 5๋ฒˆ์งธ ๊ณ„๋‹จ๊นŒ์ง€์˜ ์ด ์ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š”๋ฐ, 3๋ฒˆ์งธ์™€ 4๋ฒˆ์งธ ๊ณ„๋‹จ์˜ ์ ์ˆ˜๊ฐ€ ํ™œ์šฉ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ด์šฉํ•˜์—ฌ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.  ์–ด๋–ค ๊ณ„๋‹จ๊นŒ์ง€์˜ ์ ์ˆ˜๋ฅผ ๋‹จ์ˆœํžˆ ํ•˜๋‚˜๋กœ ์ €์žฅํ•˜๋ฉด ์•ˆ๋œ๋‹ค. ๋‹ค์Œ ๊ณ„๋‹จ์—์„œ ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œ, ์–ด๋–ค ๊ณ„๋‹จ๊นŒ์ง€..

๐Ÿ‘Š PS/Algorithm 2024. 7. 10. 17:53
[Baekjoon] 2178๋ฒˆ: ๋ฏธ๋กœ ํƒ์ƒ‰

๐Ÿฅ… ๋ฌธ์ œhttps://www.acmicpc.net/problem/2178 ๐Ÿ” ์„ค๊ณ„๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์ง€๊ณ , 1์ธ ์นธ ์ค‘์—์„œ ์ธ์ ‘ํ•œ ์นธ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์—์„œ BFS๋ผ๋Š” ๊ฒƒ์„ ํŒŒ์•…ํ–ˆ๋‹ค. ์ง€๋‚˜์•ผํ•˜๋Š” ์ตœ์†Œ ์นธ์„ ๊ตฌํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ ์นธ๋งˆ๋‹ค ๊ทธ ์นธ์œผ๋กœ ์˜ค๊ธฐ๊นŒ์ง€ ์ด๋™ํ•œ ์ด ์นธ์˜ ์ˆ˜๋ฅผ dp์— ์ €์žฅํ•œ๋‹ค. ์–ด๋–ค ์นธ์œผ๋กœ ์ด๋™ํ–ˆ์„ ๋•Œ, ์ด๋™ํ•˜๊ธฐ ์ „ ์นธ์ด ์ €์žฅํ•œ ๊ฐ’+1์ด ์ด๋™ํ•œ ์นธ๊นŒ์ง€ ์ด๋™ํ•œ ์ด ์นธ์˜ ์ˆ˜์ด๋‹ค. ์ด ๊ฐ’๋ณด๋‹ค ์ด๋ฏธ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฐ’์ด ์ž‘๋‹ค๋ฉด, ์ตœ์†Œ ์นธ์„ ๊ตฌํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, ํ์— ๋‹ด์ง€ ์•Š๋Š”๋‹ค. ๐Ÿ‘Š ํ’€์ด#include #include #include #include #include using namespace std; int n, m;int dx[] = {-1,1,0,0};int dy[] = {0,0,-1,1}..

๐Ÿ‘Š PS/Algorithm 2024. 7. 10. 17:01
[Baekjoon] 1931๋ฒˆ: ํšŒ์˜์‹ค ๋ฐฐ์ •

๐Ÿฅ… ๋ฌธ์ œhttps://www.acmicpc.net/problem/1931 ๐Ÿ” ์„ค๊ณ„ํšŒ์˜์‹ค ํ•˜๋‚˜์— ์ตœ๋Œ€๋กœ ๋ช‡ ๊ฐœ์˜ ํšŒ์˜๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค. ํšŒ์˜์˜ ์‹œ์ž‘ ์‹œ๊ฐ์ด ๋น ๋ฅธ ๊ฒƒ์„ ๋จผ์ € ๊ณ ๋ คํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฒซ ๋ฒˆ์งธ๋กœ ํšŒ์˜์˜ ์‹œ์ž‘ ์‹œ๊ฐ, ๋‘ ๋ฒˆ์งธ๋กœ ํšŒ์˜์˜ ์ข…๋ฃŒ ์‹œ๊ฐ์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜์—ฌ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๊ฐ’์„ ๊บผ๋‚ผ ์ˆ˜ ์žˆ๋Š” ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ณ ๋ คํ•ด์•ผํ•  ๊ฒƒ์€ (์‹œ์ž‘ ์‹œ๊ฐ, ์ข…๋ฃŒ ์‹œ๊ฐ)์ด๋ผ๊ณ  ํ•  ๋•Œ, (0, 6) ๋Œ€์‹  (1, 3) (3, 6)์ด ๊ฒฐ๊ณผ๊ฐ’์„ ๋„์ถœํ•˜๋Š” ํšŒ์˜์˜ ๊ฐœ์ˆ˜์— ํฌํ•จ๋œ๋‹ค. ์‹œ์ž‘ ์‹œ๊ฐ์ด ๊ฐ€์žฅ ๋น ๋ฅธ ํšŒ์˜์˜ ์‹œ์ž‘ ์‹œ๊ฐ์ด ๋‹ค์Œ ํšŒ์˜๊ฐ€ ์‹œ์ž‘ ๊ฐ€๋Šฅํ•œ ์‹œ๊ฐ(next_available_time) ๋ณด๋‹ค ๋’ค๋ผ๋ฉด, ํ•  ์ˆ˜ ์žˆ๋Š” ํšŒ์˜๊ฐ€ ํ•œ ๊ฐœ ์ฆ๊ฐ€ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ , next_available_time์„ ๊ทธ ํšŒ์˜์˜ ์ข…๋ฃŒ ์‹œ๊ฐ์œผ๋กœ ๊ฐฑ์‹ ..

๐Ÿ‘Š PS/Algorithm 2024. 7. 9. 21:30