-
[BOJ 20953, Python 3] 고고학자 예린알고리즘/BOJ 2021. 8. 31. 22:31반응형
https://www.acmicpc.net/problem/20953
풀이
맨 마지막 줄 for문을 보면 for ( k = 0; k < j; k++) sum ++;인 것을 보아하니 sum = j가 되는 것을 알 수 있습니다.
그리고 윗 줄 for문을 보면 for ( j = 0; j < a + b; j++)이므로 sum = 1 + 2 + ... + j가 되겠네요.
이것은 1부터 n까지 수의 합을 더하는 공식인 n * (n + 1) // 2을 생각할 수 있습니다. j = a + b - 1이므로 n = a + b - 1이겠네요.
그리고 첫 줄 for문은 for ( i = 0; i < a + b; i++)인데, 이것은 아래에 2중 for문을 a + b번 반복한다고 해석할 수 있습니다.
그러면 공식은 (a + b) * (a + b - 1) * ( a + b ) // 2가 되겠습니다.
코드
1234input = __import__('sys').stdin.readlinefor _ in range(int(input())):a, b = map(int, input().split())print((a + b) * (a + b - 1) * (a + b) // 2)cs 반응형'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ 20955, Python 3] 민서의 응급 수술 (0) 2021.08.31 [BOJ 20954, Python 3] 택배 기사 민서 (0) 2021.08.31 [BOJ 20952, Python 3] 게임 개발자 승희 (0) 2021.08.25 [BOJ 20951, C++] 유아와 곰두리차 (0) 2021.08.25 [BOJ 20950, Python 3] 미술가 미미 (7) 2021.08.25