====== 결합 ====== ===== 풀이 ===== * 주어진 연산은 교환법칙과 결합법칙이 성립한다는 것을 어렵지 않게 확인할 수 있다. 즉, 어떤 순서로 결합하든지 답은 항상 일정하므로, 그냥 순서대로 결합해서 값을 구하면 된다 * 시간복잡도는 O(n) ===== 코드 ===== """Solution code for "BOJ 24533. 결합". - Problem link: https://www.acmicpc.net/problem/24533 - Solution link: http://www.teferi.net/ps/problems/boj/24533 Tags: [ad hoc] """ import sys def main(): N = int(sys.stdin.readline()) answer = 0 c = d = 0 for _ in range(N): a, b = [int(x) for x in sys.stdin.readline().split()] answer += a * d + b * c c, d = c + a, d + b print(answer) if __name__ == '__main__': main() {{tag>BOJ ps:problems:boj:실버_1}}