λͺ©λ‘κ΅¬ν˜„ (4)

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

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ˜ˆμƒ λŒ€μ§„ν‘œ - C++

문제 β–³β–³ κ²Œμž„λŒ€νšŒκ°€ κ°œμ΅œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이 λŒ€νšŒλŠ” Nλͺ…이 μ°Έκ°€ν•˜κ³ , ν† λ„ˆλ¨ΌνŠΈ ν˜•μ‹μœΌλ‘œ μ§„ν–‰λ©λ‹ˆλ‹€. Nλͺ…μ˜ μ°Έκ°€μžλŠ” 각각 1λΆ€ν„° Nλ²ˆμ„ μ°¨λ‘€λŒ€λ‘œ λ°°μ •λ°›μŠ΅λ‹ˆλ‹€. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 μ°Έκ°€μžλΌλ¦¬ κ²Œμž„μ„ μ§„ν–‰ν•©λ‹ˆλ‹€. 각 κ²Œμž„μ—μ„œ 이긴 μ‚¬λžŒμ€ λ‹€μŒ λΌμš΄λ“œμ— μ§„μΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ•Œ, λ‹€μŒ λΌμš΄λ“œμ— μ§„μΆœν•  μ°Έκ°€μžμ˜ λ²ˆν˜ΈλŠ” λ‹€μ‹œ 1λ²ˆλΆ€ν„° N/2λ²ˆμ„ μ°¨λ‘€λŒ€λ‘œ λ°°μ •λ°›μŠ΅λ‹ˆλ‹€. λ§Œμ•½ 1번↔2번 끼리 κ²¨λ£¨λŠ” κ²Œμž„μ—μ„œ 2번이 μŠΉλ¦¬ν–ˆλ‹€λ©΄ λ‹€μŒ λΌμš΄λ“œμ—μ„œ 1λ²ˆμ„ λΆ€μ—¬λ°›κ³ , 3번↔4λ²ˆμ—μ„œ κ²¨λ£¨λŠ” κ²Œμž„μ—μ„œ 3번이 μŠΉλ¦¬ν–ˆλ‹€λ©΄ λ‹€μŒ λΌμš΄λ“œμ—μ„œ 2λ²ˆμ„ λΆ€μ—¬λ°›κ²Œ λ©λ‹ˆλ‹€. κ²Œμž„μ€ μ΅œμ’… ν•œ λͺ…이 남을 λ•ŒκΉŒμ§€ μ§„ν–‰λ©λ‹ˆλ‹€. μ΄λ•Œ, 처음 λΌμš΄λ“œμ—μ„œ Aλ²ˆμ„ 가진 μ°Έκ°€μžλŠ” 경쟁자둜 μƒκ°ν•˜λŠ” B번 μ°Έκ°€μžμ™€ λͺ‡ 번째 ..

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] 점 찍기 - C++

문제 μ’Œν‘œν‰λ©΄μ„ μ’‹μ•„ν•˜λŠ” μ§„μˆ˜λŠ” xμΆ•κ³Ό y좕이 μ§κ΅ν•˜λŠ” 2차원 μ’Œν‘œν‰λ©΄μ— 점을 μ°μœΌλ©΄μ„œ 놀고 μžˆμŠ΅λ‹ˆλ‹€. μ§„μˆ˜λŠ” 두 μ–‘μ˜ μ •μˆ˜ k, dκ°€ μ£Όμ–΄μ§ˆ λ•Œ λ‹€μŒκ³Ό 같이 점을 찍으렀 ν•©λ‹ˆλ‹€. 원점(0, 0)μœΌλ‘œλΆ€ν„° xμΆ• λ°©ν–₯으둜 a*k(a = 0, 1, 2, 3 ...), yμΆ• λ°©ν–₯으둜 b*k(b = 0, 1, 2, 3 ...)만큼 떨어진 μœ„μΉ˜μ— 점을 μ°μŠ΅λ‹ˆλ‹€. 원점과 거리가 dλ₯Ό λ„˜λŠ” μœ„μΉ˜μ—λŠ” 점을 찍지 μ•ŠμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, kκ°€ 2, dκ°€ 4인 κ²½μš°μ—λŠ” (0, 0), (0, 2), (0, 4), (2, 0), (2, 2), (4, 0) μœ„μΉ˜μ— 점을 찍어 총 6개의 점을 μ°μŠ΅λ‹ˆλ‹€. μ •μˆ˜ k와 μ›μ κ³Όμ˜ 거리λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜ dκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 점이 총 λͺ‡ 개 μ°νžˆλŠ”μ§€ return ν•˜λŠ” solution ν•¨μˆ˜λ₯Ό μ™„μ„±..

[λ°±μ€€] 3024번: λ§ˆλΌν†€ 틱택토 - C++

문제 상근(Albert), 민혁(Barbara), μ„ μ˜(Casper), 창영(Dinko), ν˜„μ§„(Eustahije)이가 λ§ˆλΌν†€ 틱택토 κ²Œμž„μ„ ν•˜λ €κ³  ν•œλ‹€. 이 κ²Œμž„μ€ N×N λ³΄λ“œμ—μ„œ μ§„ν–‰ν•œλ‹€. 맨 μ²˜μŒμ— λ³΄λ“œμ˜ λͺ¨λ“  칸은 λΉ„μ–΄μžˆλ‹€. ν”Œλ ˆμ΄μ–΄λŠ” 턴을 λ²ˆκ°ˆμ•„κ°€λ©΄μ„œ μžμ‹ μ˜ μ˜μ–΄ μ΄λ¦„μ˜ 첫 κΈ€μžλ₯Ό 빈 칸에 μ λŠ”λ‹€. (두 μ‚¬λžŒμ˜ μ˜μ–΄ μ΄λ¦„μ˜ 첫 κΈ€μžκ°€ 같은 κ²½μš°λŠ” μ—†λ‹€) κ²Œμž„μ€ μ„Έ κΈ€μžκ°€ ν–‰, μ—΄, λ˜λŠ” λŒ€κ°μ„ μœΌλ‘œ 연속할 λ•Œ, κ·Έ ν”Œλ ˆμ΄μ–΄κ°€ μŠΉλ¦¬ν•˜λ©°, κ²Œμž„μ΄ λλ‚˜κ²Œ λœλ‹€. λ³΄λ“œνŒμ˜ μƒνƒœκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, κ²Œμž„μ΄ λλ‚¬λŠ”μ§€ μ•„λ‹Œμ§€λ₯Ό κ²°μ •ν•˜κ³ , 끝났닀면 μŠΉμžκ°€ λˆ„κ΅¬μΈμ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 λ³΄λ“œνŒμ˜ 크기 N이 주어진닀. (1 ≤ N ≤ 30) λ‹€μŒ N개 μ€„μ—λŠ” λ³΄λ“œνŒμ˜ μƒνƒœκ°€ 주어진닀. '.'λŠ”..

[λ°±μ€€] 1756번: ν”Όμž κ΅½κΈ° - C++

문제 μ›”λ“œν”Όμž 원주 μ§€μ μ—μ„œ N개의 ν”Όμž λ°˜μ£½μ„ μ˜€λΈμ— λ„£κ³  ꡬ우렀고 ν•œλ‹€. 그런데, μ›”λ“œν”Όμžμ—μ„œ λ§Œλ“œλŠ” ν”Όμž λ°˜μ£½μ€ 지름이 μ œκ°κ°μ΄λ‹€. κ·ΈλŸ°κ°€ν•˜λ©΄, μ›”λ“œν”Όμžμ—μ„œ μ‚¬μš©ν•˜λŠ” 였븐의 λͺ¨μ–‘도 λͺΉμ‹œ μ˜€λ¬˜ν•˜λ‹€. 이 μ˜€λΈμ€ κΉŠμ€ κ΄€μ²˜λŸΌ μƒκ²ΌλŠ”λ°, κ΄€μ˜ 지름이 κΉŠμ΄μ— 따라 λ“€μ­‰λ‚ μ­‰ν•˜κ²Œ λ³€ν•œλ‹€. μ•„λž˜λŠ” 였븐의 단면 μ˜ˆμ‹œμ΄λ‹€. ν”Όμž λ°˜μ£½μ€ μ™„μ„±λ˜λŠ” μˆœμ„œλŒ€λ‘œ μ˜€λΈμ— λ“€μ–΄κ°„λ‹€. μ΄λ ‡κ²Œ N개의 ν”Όμžκ°€ μ˜€λΈμ— λͺ¨λ‘ λ“€μ–΄κ°€κ³  λ‚˜λ©΄, 맨 μœ„μ˜ ν”Όμžκ°€ μ–Όλ§ˆλ‚˜ 깊이 λ“€μ–΄κ°€ μžˆλŠ”μ§€κ°€ κΆκΈˆν•˜λ‹€. 이λ₯Ό μ•Œμ•„λ‚΄λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 였븐의 깊이 D와 ν”Όμž 반죽의 개수 N이 곡백을 사이에 두고 주어진닀. (1 ≤ D, N ≤ 300,000) λ‘˜μ§Έ μ€„μ—λŠ” 였븐의 μ΅œμƒλ‹¨λΆ€ν„° μ‹œμž‘ν•˜μ—¬ κΉŠμ΄μ— λ”°λ₯Έ 였븐의 지름이 μ°¨λ‘€λŒ€λ‘œ 주어진닀..