๋ชฉ๋ก๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (79)
๐ฉ๐ป๐พ

1๏ธโฃ๋ฌธ์ ์ค๋ช ํ ๊ฐ์ ํ์์ค์ด ์๋๋ฐ ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ๋ N๊ฐ์ ํ์์ ๋ํ์ฌ ํ์์ค ์ฌ์ฉํ๋ฅผ ๋ง๋ค๋ ค๊ณ ํ๋ค. ๊ฐ ํ์ I์ ๋ํด ์์์๊ฐ๊ณผ ๋๋๋ ์๊ฐ์ด ์ฃผ์ด์ ธ ์๊ณ , ๊ฐ ํ์๊ฐ ๊ฒน์น์ง ์๊ฒ ํ๋ฉด์ ํ์์ค์ ์ฌ์ฉํ ์ ์๋ ํ์์ ์ต๋ ๊ฐ์๋ฅผ ์ฐพ์๋ณด์. ๋จ, ํ์๋ ํ๋ฒ ์์ํ๋ฉด ์ค๊ฐ์ ์ค๋จ๋ ์ ์์ผ๋ฉฐ ํ ํ์๊ฐ ๋๋๋ ๊ฒ๊ณผ ๋์์ ๋ค์ ํ์๊ฐ ์์๋ ์ ์๋ค. ํ์์ ์์์๊ฐ๊ณผ ๋๋๋ ์๊ฐ์ด ๊ฐ์ ์๋ ์๋ค. ์ด ๊ฒฝ์ฐ์๋ ์์ํ์๋ง์ ๋๋๋ ๊ฒ์ผ๋ก ์๊ฐํ๋ฉด ๋๋ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ ํ์์ ์ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N+1 ์ค๊น์ง ๊ฐ ํ์์ ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋๋ฐ ์ด๊ฒ์ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ํ์์ ์์์๊ฐ๊ณผ ๋๋๋ ์๊ฐ์ด ์ฃผ์ด์ง๋ค. ์์ ์๊ฐ๊ณผ ๋๋๋ ์๊ฐ์ 2..

1๏ธโฃ๋ฌธ์ ์ค๋ช ๊ธธ์ด๊ฐ N์ธ ์์ด์ด ์ฃผ์ด์ก์ ๋, ๊ทธ ์์ด์ ํฉ์ ๊ตฌํ๋ ค๊ณ ํ๋ค. ํ์ง๋ง, ๊ทธ๋ฅ ๊ทธ ์์ด์ ํฉ์ ๋ชจ๋ ๋ํด์ ๊ตฌํ๋ ๊ฒ์ด ์๋๋ผ, ์์ด์ ๋ ์๋ฅผ ๋ฌถ์ผ๋ ค๊ณ ํ๋ค. ์ด๋ค ์๋ฅผ ๋ฌถ์ผ๋ ค๊ณ ํ ๋, ์์น์ ์๊ด์์ด ๋ฌถ์ ์ ์๋ค. ํ์ง๋ง, ๊ฐ์ ์์น์ ์๋ ์(์๊ธฐ ์์ )๋ฅผ ๋ฌถ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ค ์๋ฅผ ๋ฌถ๊ฒ ๋๋ฉด, ์์ด์ ํฉ์ ๊ตฌํ ๋ ๋ฌถ์ ์๋ ์๋ก ๊ณฑํ ํ์ ๋ํ๋ค. ์๋ฅผ ๋ค๋ฉด, ์ด๋ค ์์ด์ด {0, 1, 2, 4, 3, 5}์ผ ๋, ๊ทธ๋ฅ ์ด ์์ด์ ํฉ์ ๊ตฌํ๋ฉด 0+1+2+4+3+5 = 15์ด๋ค. ํ์ง๋ง, 2์ 3์ ๋ฌถ๊ณ , 4์ 5๋ฅผ ๋ฌถ๊ฒ ๋๋ฉด, 0+1+(2*3)+(4*5) = 27์ด ๋์ด ์ต๋๊ฐ ๋๋ค. ์์ด์ ๋ชจ๋ ์๋ ๋จ ํ๋ฒ๋ง ๋ฌถ๊ฑฐ๋, ์๋๋ฉด ๋ฌถ์ง ์์์ผํ๋ค. ์์ด์ด ์ฃผ์ด์ก์..

1๏ธโฃ๋ฌธ์ ์ค๋ช ์ ๋ ฌ๋ ๋ ๋ฌถ์์ ์ซ์ ์นด๋๊ฐ ์๋ค๊ณ ํ์. ๊ฐ ๋ฌถ์์ ์นด๋์ ์๋ฅผ A, B๋ผ ํ๋ฉด ๋ณดํต ๋ ๋ฌถ์์ ํฉ์ณ์ ํ๋๋ก ๋ง๋๋ ๋ฐ์๋ A+B ๋ฒ์ ๋น๊ต๋ฅผ ํด์ผ ํ๋ค. ์ด๋ฅผํ ๋ฉด, 20์ฅ์ ์ซ์ ์นด๋ ๋ฌถ์๊ณผ 30์ฅ์ ์ซ์ ์นด๋ ๋ฌถ์์ ํฉ์น๋ ค๋ฉด 50๋ฒ์ ๋น๊ต๊ฐ ํ์ํ๋ค. ๋งค์ฐ ๋ง์ ์ซ์ ์นด๋ ๋ฌถ์์ด ์ฑ ์ ์์ ๋์ฌ ์๋ค. ์ด๋ค์ ๋ ๋ฌถ์์ฉ ๊ณจ๋ผ ์๋ก ํฉ์ณ๋๊ฐ๋ค๋ฉด, ๊ณ ๋ฅด๋ ์์์ ๋ฐ๋ผ์ ๋น๊ต ํ์๊ฐ ๋งค์ฐ ๋ฌ๋ผ์ง๋ค. ์๋ฅผ ๋ค์ด 10์ฅ, 20์ฅ, 40์ฅ์ ๋ฌถ์์ด ์๋ค๋ฉด 10์ฅ๊ณผ 20์ฅ์ ํฉ์น ๋ค, ํฉ์น 30์ฅ ๋ฌถ์๊ณผ 40์ฅ์ ํฉ์น๋ค๋ฉด (10 + 20) + (30 + 40) = 100๋ฒ์ ๋น๊ต๊ฐ ํ์ํ๋ค. ๊ทธ๋ฌ๋ 10์ฅ๊ณผ 40์ฅ์ ํฉ์น ๋ค, ํฉ์น 50์ฅ ๋ฌถ์๊ณผ 20์ฅ์ ํฉ์น๋ค๋ฉด (10 + 40) + (50..

1๏ธโฃ๋ฌธ์ ์ค๋ช ์ค๊ท๊ฐ ๊ฐ์ง๊ณ ์๋ ๋์ ์ ์ด N์ข ๋ฅ์ด๊ณ , ๊ฐ๊ฐ์ ๋์ ์ ๋งค์ฐ ๋ง์ด ๊ฐ์ง๊ณ ์๋ค. ๋์ ์ ์ ์ ํ ์ฌ์ฉํด์ ๊ทธ ๊ฐ์น์ ํฉ์ K๋ก ๋ง๋ค๋ ค๊ณ ํ๋ค. ์ด๋ ํ์ํ ๋์ ๊ฐ์์ ์ต์๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๋์ ์ ๊ฐ์น Ai๊ฐ ์ค๋ฆ์ฐจ์์ผ๋ก ์ฃผ์ด์ง๋ค. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2์ธ ๊ฒฝ์ฐ์ Ai๋ Ai-1์ ๋ฐฐ์) 3๏ธโฃ์ถ๋ ฅ ์ฒซ์งธ ์ค์ K์์ ๋ง๋๋๋ฐ ํ์ํ ๋์ ๊ฐ์์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค. ๐ฉ๐ป๐ป์์ฑํ ์ฝ๋ import sys input = sys.stdin.readline n, k = map(int, input().split()..

1๏ธโฃ๋ฌธ์ ์ค๋ช N๊ฐ์ ์ ์ A[1], A[2], …, A[N]์ด ์ฃผ์ด์ ธ ์์ ๋, ์ด ์์ X๋ผ๋ ์ ์๊ฐ ์กด์ฌํ๋์ง ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์์ฐ์ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ N๊ฐ์ ์ ์ A[1], A[2], …, A[N]์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ M(1 ≤ M ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ M๊ฐ์ ์๋ค์ด ์ฃผ์ด์ง๋๋ฐ, ์ด ์๋ค์ด A์์ ์กด์ฌํ๋์ง ์์๋ด๋ฉด ๋๋ค. ๋ชจ๋ ์ ์์ ๋ฒ์๋ -231 ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ 231๋ณด๋ค ์๋ค. 3๏ธโฃ์ถ๋ ฅ M๊ฐ์ ์ค์ ๋ต์ ์ถ๋ ฅํ๋ค. ์กด์ฌํ๋ฉด 1์, ์กด์ฌํ์ง ์์ผ๋ฉด 0์ ์ถ๋ ฅํ๋ค. ๐ฉ๐ป๐ป์์ฑํ ์ฝ๋ import sys input = sys.stdin.readline n = int(input())#..

1๏ธโฃ๋ฌธ์ ์ค๋ช N×Mํฌ๊ธฐ์ ๋ฐฐ์ด๋ก ํํ๋๋ ๋ฏธ๋ก๊ฐ ์๋ค. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 ๋ฏธ๋ก์์ 1์ ์ด๋ํ ์ ์๋ ์นธ์ ๋ํ๋ด๊ณ , 0์ ์ด๋ํ ์ ์๋ ์นธ์ ๋ํ๋ธ๋ค. ์ด๋ฌํ ๋ฏธ๋ก๊ฐ ์ฃผ์ด์ก์ ๋, (1, 1)์์ ์ถ๋ฐํ์ฌ (N, M)์ ์์น๋ก ์ด๋ํ ๋ ์ง๋์ผ ํ๋ ์ต์์ ์นธ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ํ ์นธ์์ ๋ค๋ฅธ ์นธ์ผ๋ก ์ด๋ํ ๋, ์๋ก ์ธ์ ํ ์นธ์ผ๋ก๋ง ์ด๋ํ ์ ์๋ค. ์์ ์์์๋ 15์นธ์ ์ง๋์ผ (N, M)์ ์์น๋ก ์ด๋ํ ์ ์๋ค. ์นธ์ ์ ๋์๋ ์์ ์์น์ ๋์ฐฉ ์์น๋ ํฌํจํ๋ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ ์ ์ N, M(2 ≤ N, M ≤ 100)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ M๊ฐ์ ์ ์๋ก ๋ฏธ๋ก๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ์..

1๏ธโฃ๋ฌธ์ ์ค๋ช ๊ทธ๋ํ๋ฅผ DFS๋ก ํ์ํ ๊ฒฐ๊ณผ์ BFS๋ก ํ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ์๋ ์ ์ ๋ฒํธ๊ฐ ์์ ๊ฒ์ ๋จผ์ ๋ฐฉ๋ฌธํ๊ณ , ๋ ์ด์ ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ด ์๋ ๊ฒฝ์ฐ ์ข ๋ฃํ๋ค. ์ ์ ๋ฒํธ๋ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง์ด๋ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N(1 ≤ N ≤ 1,000), ๊ฐ์ ์ ๊ฐ์ M(1 ≤ M ≤ 10,000), ํ์์ ์์ํ ์ ์ ์ ๋ฒํธ V๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฐ์ ์ด ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋ค ๋ ์ ์ ์ฌ์ด์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์ด ์์ ์ ์๋ค. ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๊ฐ์ ์ ์๋ฐฉํฅ์ด๋ค. 3๏ธโฃ์ถ๋ ฅ ์ฒซ์งธ ์ค์ DFS๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ฅผ, ๊ทธ ๋ค์ ์ค์๋ BFS๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. V๋ถํฐ ๋ฐฉ๋ฌธ๋ ์ ์ ์์..

1๏ธโฃ๋ฌธ์ ์ค๋ช BOJ ์๊ณ ๋ฆฌ์ฆ ์บ ํ์๋ ์ด N๋ช ์ด ์ฐธ๊ฐํ๊ณ ์๋ค. ์ฌ๋๋ค์ 0๋ฒ๋ถํฐ N-1๋ฒ์ผ๋ก ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๊ณ , ์ผ๋ถ ์ฌ๋๋ค์ ์น๊ตฌ์ด๋ค. ์ค๋์ ๋ค์๊ณผ ๊ฐ์ ์น๊ตฌ ๊ด๊ณ๋ฅผ ๊ฐ์ง ์ฌ๋ A, B, C, D, E๊ฐ ์กด์ฌํ๋์ง ๊ตฌํด๋ณด๋ ค๊ณ ํ๋ค. A๋ B์ ์น๊ตฌ๋ค. B๋ C์ ์น๊ตฌ๋ค. C๋ D์ ์น๊ตฌ๋ค. D๋ E์ ์น๊ตฌ๋ค. ์์ ๊ฐ์ ์น๊ตฌ ๊ด๊ณ๊ฐ ์กด์ฌํ๋์ง ์ํ๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ฌ๋์ ์ N (5 ≤ N ≤ 2000)๊ณผ ์น๊ตฌ ๊ด๊ณ์ ์ M (1 ≤ M ≤ 2000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์๋ ์ ์ a์ b๊ฐ ์ฃผ์ด์ง๋ฉฐ, a์ b๊ฐ ์น๊ตฌ๋ผ๋ ๋ป์ด๋ค. (0 ≤ a, b ≤ N-1, a ≠ b) ๊ฐ์ ์น๊ตฌ ๊ด๊ณ๊ฐ ๋ ๋ฒ ์ด์ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค. 3๏ธโฃ์ถ๋ ฅ ๋ฌธ์ ..

1๏ธโฃ๋ฌธ์ ์ค๋ช ์๋น์ด๊ฐ ์ธ์์์ ๊ฐ์ฅ ์ข์ํ๋ ๊ฒ์ ์์์ด๊ณ , ์ทจ๋ฏธ๋ ์์๋ฅผ ๊ฐ์ง๊ณ ๋ ธ๋ ๊ฒ์ด๋ค. ์์ฆ ์๋น์ด๊ฐ ๊ฐ์ฅ ๊ด์ฌ์์ด ํ๋ ์์๋ 7331์ด๋ค. 7331์ ์์์ธ๋ฐ, ์ ๊ธฐํ๊ฒ๋ 733๋ ์์์ด๊ณ , 73๋ ์์์ด๊ณ , 7๋ ์์์ด๋ค. ์ฆ, ์ผ์ชฝ๋ถํฐ 1์๋ฆฌ, 2์๋ฆฌ, 3์๋ฆฌ, 4์๋ฆฌ ์ ๋ชจ๋ ์์์ด๋ค! ์๋น์ด๋ ์ด๋ฐ ์ซ์๋ฅผ ์ ๊ธฐํ ์์๋ผ๊ณ ์ด๋ฆ ๋ถ์๋ค. ์๋น์ด๋ N์๋ฆฌ์ ์ซ์ ์ค์์ ์ด๋ค ์๋ค์ด ์ ๊ธฐํ ์์์ธ์ง ๊ถ๊ธํด์ก๋ค. N์ด ์ฃผ์ด์ก์ ๋, ์๋น์ด๋ฅผ ์ํด N์๋ฆฌ ์ ๊ธฐํ ์์๋ฅผ ๋ชจ๋ ์ฐพ์๋ณด์. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ N(1 ≤ N ≤ 8)์ด ์ฃผ์ด์ง๋ค. 3๏ธโฃ์ถ๋ ฅ N์๋ฆฌ ์ ์ค์์ ์ ๊ธฐํ ์์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด์ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค. ๐ฉ๐ป๐ป์์ฑํ ์ฝ๋ import sys sys.setrecu..

1๏ธโฃ๋ฌธ์ ์ค๋ช ๋ฐฉํฅ ์๋ ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ก์ ๋, ์ฐ๊ฒฐ ์์ (Connected Component)์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N๊ณผ ๊ฐ์ ์ ๊ฐ์ M์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์ ๊ฐ์ ์ ์ ๋์ u์ v๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ u, v ≤ N, u ≠ v) ๊ฐ์ ๊ฐ์ ์ ํ ๋ฒ๋ง ์ฃผ์ด์ง๋ค. 3๏ธโฃ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ฐ๊ฒฐ ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค. ๐ฉ๐ป๐ป์์ฑํ ์ฝ๋ import sys sys.setrecursionlimit(10 ** 6) # ์ฌ๊ท ์ต๋ ๊น์ด ์ค์ input = sys.stdin.readline def DFS(v): visited[v] = True for i in A[v]: if n..