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๋ฌธ์ด ์ด ๋ช‡ ๋ฒˆ ์ˆ˜ํ–‰๋˜๋Š”์ง€๋ฅผ ์‹œ๊ฐํ™”ํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

+ Recent posts