본문 바로가기
백준 문제풀이

baekjoon - python - 1009

by winston1214 2020. 12. 29.
반응형

www.acmicpc.net/problem/1009

 

1009번: 분산처리

입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000)

www.acmicpc.net

 

# @Author YoungMinKim
# baekjoon

import sys
N = int(sys.stdin.readline())
for _ in range(N):
    a,b = map(int,sys.stdin.readline().split())
    a = a%10
    if a == 0:
        print(10)
    elif a == 1 or a == 5 or a==6:
        print(a)
    elif a == 4 or a == 9:
        b = b%2
        if b == 1:
            print(a)
        else:
            print((a**2)%10)
    else:
        b = b%4
        if b == 0:
            print((a**4)%10)
        else:
            print((a**b)%10)
    

단순히 제곱해서 하면 당연히 시간초과

각 수를 제곱했을 때 1의 자리 변화 패턴을 이용하여 연산

반응형

'백준 문제풀이' 카테고리의 다른 글

baekjoon - python - 14924  (0) 2021.01.06
baekjoon - python - 5533  (0) 2021.01.03
baekjoon - python - 1010  (0) 2020.12.20
baekjoon - python - 6768  (0) 2020.12.19
baekjoon - python - 5575  (0) 2020.12.08

댓글