백준 1009번: 분산처리 파이썬 풀이


백준 1009번: 분산처리 파이썬 풀이

# 백준 1009번 분산처리 # 난이도 브론즈 3 # 알고리즘 수학, 구현 # 소스 코드 및 해석 rlist = [[10], [1], [6,2,4,8], [1,3,9,7], [6,4], [5], [6], [1,7,9,3], [6,8,4,2], [1,9]] for _ in range(int(input())): a, b = map(int, input().split()) print(rlist[a%10][b%len(rlist[a%10])]) 1. 문제 풀이법 문제 자체는 ab의 일의 자릿수를 구하는 간단한 문제이다. 그러나 a**b%10의 코드로 쓰면 시간 초과가 발생한다. 따라서 일의 자릿수의 규칙성을 이용하여 풀어야 한다. 7을 예로 들 때, 7의 n제곱의 첫 자릿수는 7, 9, 3, 1이 반복된다. 이를 rlist에 각각 0~9의 규칙을 저장하여 이용한다. 2. rlist[a%10][b%len(rlist[a%10])])의 의미 a가 10 이상일 때도 a의 첫 자리만 보면 된다. 예를 ...


#1009번 #백준 #백준1009번 #분산처리 #백준분산처리 #백준분산처리파이썬 #파이썬

원문링크 : 백준 1009번: 분산처리 파이썬 풀이