본문 바로가기
Algorithm

[구현/수학] 백준 20410 추첨상 사수 대작전! (Easy) - 파이썬(Python)

by jangThang 2022. 12. 27.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    20410번: 추첨상 사수 대작전! (Easy)

    한 줄에 걸쳐 준표가 좋아하는 소수 m, 참가자들이 정한 Seed, 시연으로 공개된 X1, X2 이 주어진다. 항상 가능한 상황만 입력으로 주어진다.

    www.acmicpc.net

     

     

     

    2. 문제 풀이

    X1 = (a × Seed + c) % m
    X2 = (a × X1 + c) % m

     입력으로 m, seed, x1, x2가 주어집니다. 위 두 방정식을 통해, a와 c의 값을 찾아내야 합니다.

     

     

     

    3. 코드

    m, seed, x1, x2 = map(int, input().split())
    
    for a in range(m):
        for c in range(m):
            if x1 == (a * seed + c) % m and x2 == (a * x1 + c) % m:
                print(a, c)
                exit()

     a와 c가 정수이므로, 경우의 수를 돌려가며 찾아낼 수 있습니다.

     답을 찾으면 이중 for문을 빠져나와야 하므로, 함수를 정의해서 return하거나 exit()로 프로그램을 종료해야 합니다.

     

    star가 되고나서 Tistory

    반응형

    댓글