λ°±μ€ λ¬Έμ λͺ¨μ
λ¬Έμ λ§ν¬
https://www.acmicpc.net/problem/13300
13300λ²: λ°© λ°°μ
νμ€ μ λ ₯μΌλ‘ λ€μ μ λ³΄κ° μ£Όμ΄μ§λ€. 첫 λ²μ§Έ μ€μλ μνμ¬νμ μ°Έκ°νλ νμ μλ₯Ό λνλ΄λ μ μ N(1 ≤ N ≤ 1,000)κ³Ό ν λ°©μ λ°°μ ν μ μλ μ΅λ μΈμ μ K(1 < K ≤ 1,000)κ° κ³΅λ°±μΌλ‘ λΆλ¦¬λμ΄
www.acmicpc.net
λ¬Έμ
μ 보 μ΄λ±νκ΅μμλ λ¨μ²΄λ‘ 2λ° 3μΌ μνμ¬νμ κ°κΈ°λ‘ νλ€. μ¬λ¬ νλ
μ΄ κ°μ μ₯μλ‘ μνμ¬νμ κ°λ €κ³ νλλ° 1νλ
λΆν° 6νλ
κΉμ§ νμλ€μ΄ 묡μ λ°©μ λ°°μ ν΄μΌ νλ€. λ¨νμμ λ¨νμλΌλ¦¬, μ¬νμμ μ¬νμλΌλ¦¬ λ°©μ λ°°μ ν΄μΌ νλ€. λν ν λ°©μλ κ°μ νλ
μ νμλ€μ λ°°μ ν΄μΌ νλ€. λ¬Όλ‘ ν λ°©μ ν λͺ
λ§ λ°°μ νλ κ²λ κ°λ₯νλ€.
ν λ°©μ λ°°μ ν μ μλ μ΅λ μΈμμ Kκ° μ£Όμ΄μ‘μ λ, 쑰건μ λ§κ² λͺ¨λ νμμ λ°°μ νκΈ° μν΄ νμν λ°©μ μ΅μ κ°μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μλ₯Ό λ€μ΄, μνμ¬νμ κ°λ νμμ΄ λ€μκ³Ό κ°κ³ K = 2μΌ λ 12κ°μ λ°©μ΄ νμνλ€. μλνλ©΄ 3νλ
λ¨νμμ λ°°μ νκΈ° μν΄ λ°© λ κ°κ° νμνκ³ 4νλ
μ¬νμμλ λ°©μ λ°°μ νμ§ μμλ λκΈ° λλ¬Έμ΄λ€.
μ λ ₯
νμ€ μ λ ₯μΌλ‘ λ€μ μ λ³΄κ° μ£Όμ΄μ§λ€. 첫 λ²μ§Έ μ€μλ μνμ¬νμ μ°Έκ°νλ νμ μλ₯Ό λνλ΄λ μ μ N(1 ≤ N ≤ 1,000)κ³Ό ν λ°©μ λ°°μ ν μ μλ μ΅λ μΈμμ K(1 < K ≤ 1,000)κ° κ³΅λ°±μΌλ‘ λΆλ¦¬λμ΄ μ£Όμ΄μ§λ€. λ€μ N κ°μ κ° μ€μλ νμμ μ±λ³ Sμ νλ Y(1 ≤ Y ≤ 6)κ° κ³΅λ°±μΌλ‘ λΆλ¦¬λμ΄ μ£Όμ΄μ§λ€. μ±λ³ Sλ 0, 1μ€ νλλ‘μ μ¬νμμΈ κ²½μ°μ 0, λ¨νμμΈ κ²½μ°μ 1λ‘ λνλΈλ€.
μΆλ ₯
νμ€ μΆλ ₯μΌλ‘ νμλ€μ λͺ¨λ λ°°μ νκΈ° μν΄ νμν μ΅μνμ λ°©μ μλ₯Ό μΆλ ₯νλ€.
μ μΆλ ₯ μμ
μκ³ λ¦¬μ¦ λΆλ₯
- μν
- ꡬν
λ¬Έμ νμ΄
- 1νλ λΆν° 6νλ κΉμ§ 6κ°μ νλ κ³Ό λ¨λ 2κ°μ λ°©μ΄ μ‘΄μ¬νκΈ° λλ¬Έμ 6*2 2μ°¨μ λ°°μ΄ arrλ₯Ό μμ±νλ€.
- μ°Έκ°μΈμ nκ³Ό ν λ°©μ λ°°μ ν μ μλ μ΅λμΈμ kλ₯Ό μ λ ₯λ°λλ€.
- μ±λ³κ³Ό νλ μ μ λ ₯λ°μ tempμ μ μ₯ν ν arr[νλ -1][μ±λ³]μ 1μ λνλ€
- resultλ³μμ κ° νλ
λ³λ‘ λ°°μ λ λ°©μ κ°μλ₯Ό κ΅¬ν΄ λνλ€.
- i νλ μ μ¬μ νμμ μλ₯Ό kλ‘ λλ΄μ λ λλ¨Έμ§κ° 0μ΄λΌλ©΄ νμμμ kλ₯Ό λλ κ°μ resultμ λνκ³ , μλλΌλ©΄ νμμμ kλ₯Ό λλ κ°μ 1μ λν ν result λ³μμ λνλ€.
- λ¨νμλ κ°μ λ°©λ²μΌλ‘ κ³μ°νλ€.
μμ€μ½λ
var arr = Array(repeating: [0, 0], count: 6)
let nk = readLine()!.split(separator: " ").map{Int(String($0))!}
let n = nk[0], k = nk[1]
var result = 0
for _ in 0..<n {
let temp = readLine()!.split(separator: " ").map{Int(String($0))!}
arr[temp[1]-1][temp[0]] += 1
}
for i in 0..<6 {
result += (arr[i][0]%k == 0 ? arr[i][0]/k : arr[i][0]/k+1)
result += (arr[i][1]%k == 0 ? arr[i][1]/k : arr[i][1]/k+1)
}
print(result)
- 12ms
'β¨οΈ Language > swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift] λ°±μ€ 1919λ² - μ λκ·Έλ¨ λ§λ€κΈ° (0) | 2023.03.25 |
---|---|
[Swift] λ°±μ€ 11328λ² - Strfry (0) | 2023.03.25 |
[Swift] λ°±μ€ 10807λ² - κ°μ μΈκΈ° (0) | 2023.03.25 |
[Swift] λ°±μ€ 2577λ² - μ«μμ κ°μ (0) | 2023.03.25 |
[Swift] λ°±μ€ 10808λ² - μνλ²³ κ°μ (0) | 2023.03.25 |