λͺ©λ‘μ½”λ”©ν…ŒμŠ€νŠΈ μ€€λΉ„/λ°±μ€€ (70)

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

[λ°±μ€€] 2178번: 미둜 탐색 - C++

문제 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)의 μœ„μΉ˜λ‘œ 이동할 수 μžˆλ‹€. 칸을 μ…€ λ•Œμ—λŠ” μ‹œμž‘ μœ„μΉ˜μ™€ 도착 μœ„μΉ˜λ„ ν¬ν•¨ν•œλ‹€. μž…λ ₯ 첫째 쀄에 두 μ •μˆ˜ N, M(2 ≤ N, M ≤ 100)이 μ£Όμ–΄μ§„λ‹€. λ‹€μŒ N개의 μ€„μ—λŠ” M개의 μ •μˆ˜λ‘œ λ―Έλ‘œκ°€ μ£Όμ–΄μ§„λ‹€. 각각의 μˆ˜λ“€μ€ λΆ™μ–΄μ„œ μž…λ ₯..

[λ°±μ€€] 7576번: ν† λ§ˆν†  - C++

문제 철수의 ν† λ§ˆν†  농μž₯μ—μ„œλŠ” ν† λ§ˆν† λ₯Ό λ³΄κ΄€ν•˜λŠ” 큰 μ°½κ³ λ₯Ό κ°€μ§€κ³  μžˆλ‹€. ν† λ§ˆν† λŠ” μ•„λž˜μ˜ κ·Έλ¦Όκ³Ό 같이 격자 λͺ¨μ–‘ μƒμžμ˜ 칸에 ν•˜λ‚˜μ”© λ„£μ–΄μ„œ 창고에 λ³΄κ΄€ν•œλ‹€. 창고에 λ³΄κ΄€λ˜λŠ” ν† λ§ˆν† λ“€ μ€‘μ—λŠ” 잘 읡은 것도 μžˆμ§€λ§Œ, 아직 읡지 μ•Šμ€ ν† λ§ˆν† λ“€λ„ μžˆμ„ 수 μžˆλ‹€. 보관 ν›„ ν•˜λ£¨κ°€ μ§€λ‚˜λ©΄, 읡은 ν† λ§ˆν† λ“€μ˜ μΈμ ‘ν•œ 곳에 μžˆλŠ” 읡지 μ•Šμ€ ν† λ§ˆν† λ“€μ€ 읡은 ν† λ§ˆν† μ˜ 영ν–₯을 λ°›μ•„ 읡게 λœλ‹€. ν•˜λ‚˜μ˜ ν† λ§ˆν† μ˜ μΈμ ‘ν•œ 곳은 μ™Όμͺ½, 였λ₯Έμͺ½, μ•ž, λ’€ λ„€ λ°©ν–₯에 μžˆλŠ” ν† λ§ˆν† λ₯Ό μ˜λ―Έν•œλ‹€. λŒ€κ°μ„  λ°©ν–₯에 μžˆλŠ” ν† λ§ˆν† λ“€μ—κ²ŒλŠ” 영ν–₯을 μ£Όμ§€ λͺ»ν•˜λ©°, ν† λ§ˆν† κ°€ 혼자 μ €μ ˆλ‘œ μ΅λŠ” κ²½μš°λŠ” μ—†λ‹€κ³  κ°€μ •ν•œλ‹€. μ² μˆ˜λŠ” 창고에 λ³΄κ΄€λœ ν† λ§ˆν† λ“€μ΄ 며칠이 μ§€λ‚˜λ©΄ λ‹€ 읡게 λ˜λŠ”μ§€, κ·Έ μ΅œμ†Œ 일수λ₯Ό μ•Œκ³  μ‹Άμ–΄ ν•œλ‹€. ν† λ§ˆν† λ₯Ό 창고에 λ³΄κ΄€ν•˜λŠ” 격자λͺ¨μ–‘μ˜ μƒμžλ“€..

[λ°±μ€€] 4963번: μ„¬μ˜ 개수 - C++

문제 μ •μ‚¬κ°ν˜•μœΌλ‘œ 이루어져 μžˆλŠ” 섬과 λ°”λ‹€ 지도가 μ£Όμ–΄μ§„λ‹€. μ„¬μ˜ 개수λ₯Ό μ„ΈλŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. ν•œ μ •μ‚¬κ°ν˜•κ³Ό κ°€λ‘œ, μ„Έλ‘œ λ˜λŠ” λŒ€κ°μ„ μœΌλ‘œ μ—°κ²°λ˜μ–΄ μžˆλŠ” μ‚¬κ°ν˜•μ€ κ±Έμ–΄κ°ˆ 수 μžˆλŠ” μ‚¬κ°ν˜•μ΄λ‹€. 두 μ •μ‚¬κ°ν˜•μ΄ 같은 섬에 있으렀면, ν•œ μ •μ‚¬κ°ν˜•μ—μ„œ λ‹€λ₯Έ μ •μ‚¬κ°ν˜•μœΌλ‘œ κ±Έμ–΄μ„œ 갈 수 μžˆλŠ” κ²½λ‘œκ°€ μžˆμ–΄μ•Ό ν•œλ‹€. μ§€λ„λŠ” λ°”λ‹€λ‘œ λ‘˜λŸ¬μ‹Έμ—¬ 있으며, 지도 λ°–μœΌλ‘œ λ‚˜κ°ˆ 수 μ—†λ‹€. μž…λ ₯ μž…λ ₯은 μ—¬λŸ¬ 개의 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ‘œ 이루어져 μžˆλ‹€. 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 첫째 μ€„μ—λŠ” μ§€λ„μ˜ λ„ˆλΉ„ w와 높이 hκ°€ μ£Όμ–΄μ§„λ‹€. w와 hλŠ” 50보닀 μž‘κ±°λ‚˜ 같은 μ–‘μ˜ μ •μˆ˜μ΄λ‹€. λ‘˜μ§Έ 쀄뢀터 h개 μ€„μ—λŠ” 지도가 μ£Όμ–΄μ§„λ‹€. 1은 λ•…, 0은 바닀이닀. μž…λ ₯의 λ§ˆμ§€λ§‰ μ€„μ—λŠ” 0이 두 개 μ£Όμ–΄μ§„λ‹€. 좜λ ₯ 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ— λŒ€ν•΄μ„œ, μ„¬μ˜ 개수λ₯Ό 좜λ ₯ν•œλ‹€..

[λ°±μ€€] 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 ..

Prev 1 2 3 4 5 6 7 Next