BOJ
[백준/BOJ] python 2921번 도미노
kyj0015
2023. 2. 6. 00:09
언어: python
번호: 2921
제목: 도미노
등급: 브론즈 3
풀이 과정:
크기가 n인 도미노 세트를 n의 값에 따라 나눈다고 생각하고 각 도미노에 있는 점의 개수는 다음과 같다.
f(0) = (0, 0) -> 1개
f(1) = f(0) + (1, 0) + (1, 1) -> f(0) + 1 + 2 개
f(2) = f(1) + (2, 0) + (2, 1) + (2, 2) -> f(1) + 2 + 3 + 4 개
f(3) = f(2) + (3, 0) + (3, 1) + (3, 2) + (3, 3) -> f(2) + 3 + 4+ 5 개
이때 수열의 합을 이용하여 i번째 도미노 세트에 있는 점의 개수의 합은 (3*i**2+3*i)//2임을 알 수 있다. 크기가 n인 도미노 세트에 있는 모든 점의 개수의 합을 구하기 위해서는 ∑(3*n**2+3*n)//2 = n*(n+1)*(n+2)//2 를 출력해야 한다.
코드:
# 2921
import sys
input = sys.stdin.readline
n = int(input())
print(n*(n+1)*(n+2)//2)