λͺ©λ‘μ½”λ”©ν…ŒμŠ€νŠΈ μ€€λΉ„ (77)

𝘚𝘭𝘰𝘸 𝘣𝘢𝘡 𝘴𝘡𝘦𝘒π˜₯𝘺

[λ°±μ€€] 2667번: λ‹¨μ§€λ²ˆν˜ΈλΆ™μ΄κΈ° - C++

문제 κ³Ό 같이 μ •μ‚¬κ°ν˜• λͺ¨μ–‘μ˜ 지도가 μžˆλ‹€. 1은 집이 μžˆλŠ” 곳을, 0은 집이 μ—†λŠ” 곳을 λ‚˜νƒ€λ‚Έλ‹€. μ² μˆ˜λŠ” 이 지도λ₯Ό 가지고 μ—°κ²°λœ μ§‘μ˜ λͺ¨μž„인 단지λ₯Ό μ •μ˜ν•˜κ³ , 단지에 번호λ₯Ό 뢙이렀 ν•œλ‹€. μ—¬κΈ°μ„œ μ—°κ²°λ˜μ—ˆλ‹€λŠ” 것은 μ–΄λ–€ 집이 쒌우, ν˜Ήμ€ μ•„λž˜μœ„λ‘œ λ‹€λ₯Έ 집이 μžˆλŠ” 경우λ₯Ό λ§ν•œλ‹€. λŒ€κ°μ„ μƒμ— 집이 μžˆλŠ” κ²½μš°λŠ” μ—°κ²°λœ 것이 μ•„λ‹ˆλ‹€. λŠ” 을 λ‹¨μ§€λ³„λ‘œ 번호λ₯Ό 뢙인 것이닀. 지도λ₯Ό μž…λ ₯ν•˜μ—¬ λ‹¨μ§€μˆ˜λ₯Ό 좜λ ₯ν•˜κ³ , 각 단지에 μ†ν•˜λŠ” μ§‘μ˜ 수λ₯Ό μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜μ—¬ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫 번째 μ€„μ—λŠ” μ§€λ„μ˜ 크기 N(μ •μ‚¬κ°ν˜•μ΄λ―€λ‘œ κ°€λ‘œμ™€ μ„Έλ‘œμ˜ ν¬κΈ°λŠ” κ°™μœΌλ©° 5≤N≤25)이 μž…λ ₯되고, κ·Έ λ‹€μŒ Nμ€„μ—λŠ” 각각 N개의 자료(0ν˜Ήμ€ 1)κ°€ μž…λ ₯λœλ‹€. 좜λ ₯ 첫 번째 μ€„μ—λŠ” 총 λ‹¨μ§€μˆ˜λ₯Ό 좜λ ₯ν•˜μ‹œμ˜€. 그리고 각 ..

[λ°±μ€€] 11724번: μ—°κ²° μš”μ†Œμ˜ 개수 - C++

문제 λ°©ν–₯ μ—†λŠ” κ·Έλž˜ν”„κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, μ—°κ²° μš”μ†Œ (Connected Component)의 개수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 μ •μ μ˜ 개수 Nκ³Ό κ°„μ„ μ˜ 개수 M이 주어진닀. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) λ‘˜μ§Έ 쀄뢀터 M개의 쀄에 κ°„μ„ μ˜ μ–‘ 끝점 u와 vκ°€ 주어진닀. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 ν•œ 번만 주어진닀. 좜λ ₯ 첫째 쀄에 μ—°κ²° μš”μ†Œμ˜ 개수λ₯Ό 좜λ ₯ν•œλ‹€. κ·Έλž˜ν”„ 탐색 μ•Œκ³ λ¦¬μ¦˜μ„ μ΄μš©ν•˜μ—¬ ν‘ΈλŠ” 문제. DFSλ₯Ό μ‚¬μš©ν•˜μ—¬ ν’€μ—ˆλ‹€. 0번 정점뢀터 NκΉŒμ§€ ν•œλ²ˆμ”© DFSλ₯Ό μ‹€ν–‰ν•˜λ˜, DFSμ—μ„œ μƒˆλ‘œ 정점을 λ°©λ¬Έν•  λ•Œ λ§ˆλ‹€ cλ₯Ό 1μ”© μ¦κ°€μ‹œμΌœ λ°©λ¬Έν•œ λ…Έλ“œμ˜ 수λ₯Ό μ„Έμ£Όκ³ , DFSκ°€ 끝났을 λ•Œ λ°©λ¬Έν•œ λ…Έλ“œμ˜ 수 cκ°€ 이전보닀 μ¦κ°€ν–ˆλ‹€λ©΄ μƒˆλ‘œμš΄ ..

[λ°±μ€€] 1260번: DFS와 BFS - C++

문제 κ·Έλž˜ν”„λ₯Ό DFS둜 νƒμƒ‰ν•œ 결과와 BFS둜 νƒμƒ‰ν•œ κ²°κ³Όλ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. 단, λ°©λ¬Έν•  수 μžˆλŠ” 정점이 μ—¬λŸ¬ 개인 κ²½μš°μ—λŠ” 정점 λ²ˆν˜Έκ°€ μž‘μ€ 것을 λ¨Όμ € λ°©λ¬Έν•˜κ³ , 더 이상 λ°©λ¬Έν•  수 μžˆλŠ” 점이 μ—†λŠ” 경우 μ’…λ£Œν•œλ‹€. 정점 λ²ˆν˜ΈλŠ” 1λ²ˆλΆ€ν„° Nλ²ˆκΉŒμ§€μ΄λ‹€. μž…λ ₯ 첫째 쀄에 μ •μ μ˜ 개수 N(1 ≤ N ≤ 1,000), κ°„μ„ μ˜ 개수 M(1 ≤ M ≤ 10,000), 탐색을 μ‹œμž‘ν•  μ •μ μ˜ 번호 Vκ°€ 주어진닀. λ‹€μŒ M개의 μ€„μ—λŠ” 간선이 μ—°κ²°ν•˜λŠ” 두 μ •μ μ˜ λ²ˆν˜Έκ°€ 주어진닀. μ–΄λ–€ 두 정점 사이에 μ—¬λŸ¬ 개의 간선이 μžˆμ„ 수 μžˆλ‹€. μž…λ ₯으둜 μ£Όμ–΄μ§€λŠ” 간선은 μ–‘λ°©ν–₯이닀. 좜λ ₯ 첫째 쀄에 DFSλ₯Ό μˆ˜ν–‰ν•œ κ²°κ³Όλ₯Ό, κ·Έ λ‹€μŒ μ€„μ—λŠ” BFSλ₯Ό μˆ˜ν–‰ν•œ κ²°κ³Όλ₯Ό 좜λ ₯ν•œλ‹€. VλΆ€ν„° 방문된 점을 μˆœμ„œλŒ€λ‘œ 좜λ ₯ν•˜λ©΄ λœλ‹€. ..

[λ°±μ€€] 1676번: νŒ©ν† λ¦¬μ–Ό 0의 개수 - C++

문제 N!μ—μ„œ λ’€μ—μ„œλΆ€ν„° 처음 0이 μ•„λ‹Œ μˆ«μžκ°€ λ‚˜μ˜¬ λ•ŒκΉŒμ§€ 0의 개수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 N이 주어진닀. (0 ≤ N ≤ 500) 좜λ ₯ 첫째 쀄에 κ΅¬ν•œ 0의 개수λ₯Ό 좜λ ₯ν•œλ‹€. N!을 κ΅¬ν•œ λ‹€μŒ 10으둜 λ‚˜λˆ„μ–΄ κ΅¬ν•˜λŠ” λ°©μ‹μœΌλ‘œ ν’€λ©΄ N에 500을 λŒ€μž…ν•˜μ˜€μ„ λ•Œ 값이 μ•ˆλ‚˜μ˜€λŠ” 것을 확인할 수 μžˆλ‹€. 즉, νŒ©ν† λ¦¬μ–Όμ˜ 값을 κ³„μ‚°ν•˜λŠ” λ°©μ‹μœΌλ‘œ ν’€λ©΄ μ•ˆλœλ‹€λŠ” λœ»μ΄λ‹€. 뒀에 0이 λ‚˜μ˜¨λ‹€λŠ” μ˜λ―ΈλŠ” 10의 λ°°μˆ˜λΌλŠ” 뜻이고, 0의 개수λ₯Ό κ΅¬ν•œλ‹€λŠ” 것은 10의 λͺ‡ μ œκ³±μΈμ§€, 곧 νŒ©ν† λ¦¬μ–Όμ΄ κ³„μ‚°λ˜λŠ” λ™μ•ˆ 2와 5κ°€ μ–Όλ§ˆλ‚˜ λ“€μ–΄κ°”λŠ”μ§€λ₯Ό μ˜λ―Έν•œλ‹€. κ³±ν•΄μ£ΌλŠ” μˆ˜μ— 2와 5κ°€ 각각 λͺ‡κ°œ κ³±ν•΄μ§€λŠ”μ§€ μ„Ό ν›„ 더 적은 값이 닡이 λ˜λŠ”λ°, λ²”μœ„ λ‚΄μ—μ„œ 5κ°€ 더 적게 λ“€μ–΄κ°€κΈ° λ•Œλ¬Έμ— 2의 κ²½μš°λŠ” κ³„μ‚°ν•˜μ§€ μ•Šμ•˜λ‹€..

[λ°±μ€€] 6588번: κ³¨λ“œλ°”νμ˜ μΆ”μΈ‘ - C++

문제 1742λ…„, λ…μΌμ˜ μ•„λ§ˆμΆ”μ–΄ μˆ˜ν•™κ°€ ν¬λ¦¬μŠ€ν‹°μ•ˆ κ³¨λ“œλ°”νλŠ” λ ˆμ˜¨ν•˜λ₯΄νŠΈ μ˜€μΌλŸ¬μ—κ²Œ λ‹€μŒκ³Ό 같은 좔츑을 μ œμ•ˆν•˜λŠ” νŽΈμ§€λ₯Ό λ³΄λƒˆλ‹€. 4보닀 큰 λͺ¨λ“  μ§μˆ˜λŠ” 두 ν™€μˆ˜ μ†Œμˆ˜μ˜ ν•©μœΌλ‘œ λ‚˜νƒ€λ‚Ό 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄ 8은 3 + 5둜 λ‚˜νƒ€λ‚Ό 수 있고, 3κ³Ό 5λŠ” λͺ¨λ‘ ν™€μˆ˜μΈ μ†Œμˆ˜μ΄λ‹€. 또, 20 = 3 + 17 = 7 + 13, 42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23 이닀. 이 좔츑은 아직도 ν•΄κ²°λ˜μ§€ μ•Šμ€ λ¬Έμ œμ΄λ‹€. 백만 μ΄ν•˜μ˜ λͺ¨λ“  μ§μˆ˜μ— λŒ€ν•΄μ„œ, 이 좔츑을 κ²€μ¦ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ μž…λ ₯은 ν•˜λ‚˜ λ˜λŠ” κ·Έ μ΄μƒμ˜ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ‘œ 이루어져 μžˆλ‹€. ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ κ°œμˆ˜λŠ” 100,000개λ₯Ό λ„˜μ§€ μ•ŠλŠ”λ‹€. 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” 짝수 μ •μˆ˜ n ν•˜λ‚˜λ‘œ 이루어져 μžˆλ‹€. (6 ≤ n ..

[λ°±μ€€] 1929번: μ†Œμˆ˜ κ΅¬ν•˜κΈ° - C++ (+ μ—λΌν† μŠ€ν…Œλ„€μŠ€μ˜ 체)

문제 M이상 Nμ΄ν•˜μ˜ μ†Œμˆ˜λ₯Ό λͺ¨λ‘ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 μžμ—°μˆ˜ Mκ³Ό N이 빈 칸을 사이에 두고 주어진닀. (1 ≤ M ≤ N ≤ 1,000,000) M이상 Nμ΄ν•˜μ˜ μ†Œμˆ˜κ°€ ν•˜λ‚˜ 이상 μžˆλŠ” μž…λ ₯만 주어진닀. 좜λ ₯ ν•œ 쀄에 ν•˜λ‚˜μ”©, μ¦κ°€ν•˜λŠ” μˆœμ„œλŒ€λ‘œ μ†Œμˆ˜λ₯Ό 좜λ ₯ν•œλ‹€. μ•žμ„œ 1978번 μ†Œμˆ˜ μ°ΎκΈ°μ—μ„œ ν’€μ—ˆλ˜ νŠΉμ • μˆ˜μ— λŒ€ν•œ μ†Œμˆ˜ νŒμ •μ„ ν™•μž₯ν•˜μ—¬ νŠΉμ • λ²”μœ„ λ‚΄μ˜ μ†Œμˆ˜λ₯Ό λͺ¨λ‘ κ΅¬ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μΈ μ—λΌν† μŠ€ν…Œλ„€μŠ€μ˜ 체λ₯Ό μ΄μš©ν•˜μ—¬ ν’€ 수 μžˆλŠ” λ¬Έμ œμ΄λ‹€. 말이 μ–΄λ ΅μ§€λ§Œ, 원리가 κ°„λ‹¨ν•˜λ‹€. 2 μ΄μƒμ˜ κ΅¬ν•˜κ³ μž ν•˜λŠ” λ²”μœ„ 내에 μ‘΄μž¬ν•˜λŠ” μžμ—°μˆ˜λ₯Ό λͺ¨λ‘ λ‚˜μ—΄ν•œ λ’€, 2의 λ°°μˆ˜λΆ€ν„° 3의 배수, 4의 배수, ... λ“± μ°¨λ‘€λ‘œ κ·Έ 수의 λ°°μˆ˜λ“€μ„ μ§€μ›Œλ‚˜κ°„λ‹€. 예λ₯Ό λ“€μ–΄, λ‹€μŒκ³Ό 같이 2λΆ€ν„° 50κΉŒμ§€μ˜ λ²”μœ„ 내에..

[λ°±μ€€] 1978번: μ†Œμˆ˜ μ°ΎκΈ° - C++

문제 주어진 수 N개 μ€‘μ—μ„œ μ†Œμˆ˜κ°€ λͺ‡ κ°œμΈμ§€ μ°Ύμ•„μ„œ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫 쀄에 수의 개수 N이 주어진닀. N은 100μ΄ν•˜μ΄λ‹€. λ‹€μŒμœΌλ‘œ N개의 μˆ˜κ°€ μ£Όμ–΄μ§€λŠ”λ° μˆ˜λŠ” 1,000 μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ‹€. 좜λ ₯ 주어진 μˆ˜λ“€ 쀑 μ†Œμˆ˜μ˜ 개수λ₯Ό 좜λ ₯ν•œλ‹€. μ†Œμˆ˜λ₯Ό μ°ΎλŠ” μ•Œκ³ λ¦¬μ¦˜μ„ μ΄μš©ν•˜μ—¬ ν’€ 수 μžˆλŠ” 문제. μ†Œμˆ˜λŠ” 1보닀 큰 μžμ—°μˆ˜ 쀑 1κ³Ό 자기 μžμ‹ λ§Œμ„ μ•½μˆ˜λ‘œ κ°–λŠ” μžμ—°μˆ˜λ₯Ό μ˜λ―Έν•œλ‹€. 2, 3, 5, 7, 11 .. λ“±μ˜ μžμ—°μˆ˜κ°€ μ†Œμˆ˜λ‘œ μ†ν•œλ‹€. 첫번째둜 κ°€μž₯ 기본적인 μ†Œμˆ˜λ₯Ό μ°ΎλŠ” 방법은 2λΆ€ν„° NκΉŒμ§€μ˜ 수λ₯Ό μ‘°μ‚¬ν•˜λŠ” 방법이닀. 2λΆ€ν„° NκΉŒμ§€μ˜ 수 i둜 N을 λ‚˜λˆ λ³΄λ©΄μ„œ λ‚˜λ¨Έμ§€κ°€ 0이 λ‚˜μ˜€λŠ”μ§€ νŒλ³„ν•˜λŠ” 것이닀. 2λΆ€ν„° NκΉŒμ§€ λͺ¨λ“  경우의 수λ₯Ό 계산해보기 λ•Œλ¬Έμ— μ‹œκ°„λ³΅μž‘λ„λŠ” O(N)이 λ‚˜μ˜¨λ‹€. boo..

[λ°±μ€€] 1934번: μ΅œμ†Œκ³΅λ°°μˆ˜ - C++

문제 두 μžμ—°μˆ˜ A와 B에 λŒ€ν•΄μ„œ, A의 λ°°μˆ˜μ΄λ©΄μ„œ B의 배수인 μžμ—°μˆ˜λ₯Ό A와 B의 곡배수라고 ν•œλ‹€. 이런 곡배수 μ€‘μ—μ„œ κ°€μž₯ μž‘μ€ 수λ₯Ό μ΅œμ†Œκ³΅λ°°μˆ˜λΌκ³  ν•œλ‹€. 예λ₯Ό λ“€μ–΄, 6κ³Ό 15의 κ³΅λ°°μˆ˜λŠ” 30, 60, 90등이 있으며, μ΅œμ†Œ κ³΅λ°°μˆ˜λŠ” 30이닀. 두 μžμ—°μˆ˜ A와 Bκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, A와 B의 μ΅œμ†Œκ³΅λ°°μˆ˜λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 T(1 ≤ T ≤ 1,000)κ°€ 주어진닀. λ‘˜μ§Έ 쀄뢀터 T개의 쀄에 κ±Έμ³μ„œ A와 Bκ°€ 주어진닀. (1 ≤ A, B ≤ 45,000) 좜λ ₯ 첫째 쀄뢀터 T개의 쀄에 A와 B의 μ΅œμ†Œκ³΅λ°°μˆ˜λ₯Ό μž…λ ₯받은 μˆœμ„œλŒ€λ‘œ ν•œ 쀄에 ν•˜λ‚˜μ”© 좜λ ₯ν•œλ‹€. 2609번 μ΅œλŒ€κ³΅μ•½μˆ˜μ™€ μ΅œμ†Œκ³΅λ°°μˆ˜ λ₯Ό μ΄μš©ν•˜μ—¬ ν’€λ©΄ κ°„λ‹¨ν•˜κ²Œ ν’€ 수 μžˆλŠ” λ¬Έμ œμ΄λ‹€. μ½”λ“œ #include..

Prev 1 2 3 4 5 6 7 8 Next