https://www.acmicpc.net/problem/24263
(μκ³ λ¦¬μ¦ μμ λ¬Έμ λ μκ° λ³΅μ‘λκ° λ¬΄μμΈμ§ νμΈνκ³ νμ΄λ³΄κΈ°)
λ¬Έμ
μ€λλ μμ€μ΄λ μκ³ λ¦¬μ¦μ μνμκ° μμ μ‘°κ΅λ₯Ό νκ³ μλ€. μλΉ κ° μμ ν λ΄μ©μ νμλ€μ΄ μ μ΄ν΄νλμ§ λ¬Έμ λ₯Ό ν΅ν΄μ νμΈν΄λ³΄μ.
μ λ ₯μ ν¬κΈ° nμ΄ μ£Όμ΄μ§λ©΄ MenOfPassion μκ³ λ¦¬μ¦ μν μκ°μ μμ μΆλ ₯κ³Ό κ°μ λ°©μμΌλ‘ μΆλ ₯ν΄λ³΄μ.
MenOfPassion μκ³ λ¦¬μ¦μ λ€μκ³Ό κ°λ€.
MenOfPassion(A[], n) {
sum <- 0;
for i <- 1 to n - 1
for j <- i + 1 to n
sum <- sum + A[i] × A[j]; # μ½λ1
return sum;
}
μ λ ₯
첫째 μ€μ μ λ ₯μ ν¬κΈ° n(1 ≤ n ≤ 500,000)μ΄ μ£Όμ΄μ§λ€.
μΆλ ₯
첫째 μ€μ μ½λ1 μ μν νμλ₯Ό μΆλ ₯νλ€.
λμ§Έ μ€μ μ½λ1μ μν νμλ₯Ό λ€νμμΌλ‘ λνλ΄μμ λ, μ΅κ³ μ°¨νμ μ°¨μλ₯Ό μΆλ ₯νλ€. λ¨, λ€νμμΌλ‘ λνλΌ μ μκ±°λ μ΅κ³ μ°¨νμ μ°¨μκ° 3λ³΄λ€ ν¬λ©΄ 4λ₯Ό μΆλ ₯νλ€.
μμ μ λ ₯1 | μμ μΆλ ₯1 |
7 | 7 1 |
→ μ½λ1 μ΄ 21ν μνλκ³ μκ³ λ¦¬μ¦μ μν μκ°μ΄ n²μ λΉλ‘νλ€.
μμ€ μ½λ
# λ¬Έμ μκ°ν
n = int(input())
sum = 0
count = 0
for i in range(1,n):
for j in range(i+1,n+1):
sum += (i * j) # μ½λ 1
count += 1
print("{:^4}+({}*{})={:^4} ({:^2}λ² μν)\t".format(sum-(i*j),i,j,sum,count), end=" ")
print()
# μ λ΅ μ½λ
n = int(input())
print(int(n*(n-1)/2))
print(2)
νμ΄
- 첫 λ²μ§Έ forλ¬Έμ μ΄ nλ² μν
- λ λ²μ§Έ forλ¬Έμ n-iλ² μν
- i=1μΈ κ²½μ°, n-1λ² μν
- i=2μΈ κ²½μ°, n-2λ² μν
- μν νμ 곡μμ 첫 λ²μ§Έ μ€μ μΆλ ₯
- 첫 λ²μ§Έ forλ¬Έμ΄ μνλ νμ nκ³Ό λ λ²μ§Έ forλ¬Έμ΄ μνλ νμ n-iλ₯Ό κ³±ν κ° (μ€λ³΅μ μ κ±°νκΈ° μν΄ 2λ‘ λλκΈ°)
- μμ 곡μμμ μ΅κ³ μ°¨νμ μ°¨μμΈ 2λ₯Ό λ λ²μ§Έ μ€μ μΆλ ₯
- μκ° λ³΅μ‘λ(=μ½λ1μ μννμ)λ n*(n-1)/2μ΄λ―λ‘ μ΅κ³ μ°¨νμ μ°¨μλ 2
μ΄μ ν¬μ€ν κ³Ό λ§μ°¬κ°μ§λ‘ μκ° λ³΅μ‘λμ λν΄ μλ©΄ μ½κ² ν μ μλ λ¬Έμ μλ€. μ΅μν μΈμ΄λ‘ forλ¬Έμ΄ μ΄ λͺ λ² μνλλμ§λ₯Ό μκ°νν΄λ³΄λ©΄ μ’μ κ² κ°λ€.
'μ½λ© λ¬Έμ νμ΄ π» > λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€ / νμ΄μ¬] μκ³ λ¦¬μ¦ μμ - μκ³ λ¦¬μ¦μ μν μκ° 2 (0) | 2024.06.20 |
---|---|
[λ°±μ€ / νμ΄μ¬] μΌλ° μν 1 - μ§λ² λ³ν (1) | 2024.01.25 |
[λ°±μ€ / νμ΄μ¬] 2μ°¨μ λ°°μ΄ - μμ’ μ΄ (0) | 2024.01.25 |