RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R01356

요리사의 비율 계산

Silver IV 실버 IV
난이도
3s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

유명 요리 쇼 '리세 키친'에서 요리사들은 재료 비율을 소수 \(P\)를 법으로 하는 모듈러 연산으로 표현한다. 요리사들은 비율 \(a\)역원, 즉 \(a \cdot x \equiv 1 \pmod{P}\)를 만족하는 \(x\) (\(1 \le x < P\))를 자주 필요로 한다.

\(P\)가 소수이면 페르마의 소정리 \(a^{P-1} \equiv 1 \pmod{P}\)에 의해 \(a\)의 역원은 \(a^{P-2} \bmod P\)로 계산할 수 있다.

\(N\)개의 비율 \(a_1, a_2, \dots, a_N\)이 주어질 때, 각각의 역원을 구하여라. 모든 \(a_i\)\(1 \le a_i < P\)를 만족한다.

제약
  • \(P\)는 소수이고 \(3 \le P \le 10^9 + 7\)
  • \(1 \le N \le 100\,000\)
  • \(1 \le a_i < P\)
입력 형식

첫째 줄에 소수 \(P\)와 비율의 수 \(N\)이 공백으로 구분되어 주어진다.

둘째 줄에 \(N\)개의 비율 \(a_1, a_2, \dots, a_N\)이 공백으로 구분되어 주어진다.

출력 형식

\(N\)개의 줄에 걸쳐 \(a_i\)의 역원을 순서대로 출력한다.

예제 1
입력
7 3
3 5 2
출력
5
3
4
설명

\(7\)은 소수이므로 페르마의 소정리에 의해 \(a^{-1} \equiv a^{7-2} \pmod{7}\)이다. \(3^{-1} \equiv 3^5 = 243 \equiv 243 - 34 \times 7 = 5 \pmod{7}\)이고, \(5^{-1} \equiv 5^5 = 3125 \equiv 3125 - 446 \times 7 = 3 \pmod{7}\)이며, \(2^{-1} \equiv 2^5 = 32 \equiv 4 \pmod{7}\)이다.

예제 2
입력
7 3
1 4 6
출력
1
2
6
설명

\(1^{-1} = 1\)이다. \(4 \times 2 = 8 \equiv 1 \pmod{7}\)이므로 \(4^{-1} = 2\)이다. \(6 \times 6 = 36 \equiv 1 \pmod{7}\)이므로 \(6^{-1} = 6\)이다.

힌트

막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.

문제 정보

riseoj 작성

출처 Original

평가 및 의견

요리사의 비율 계산

개요
출제자 난이도 Silver IV 실버 IV 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

요리사의 비율 계산

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8