結果
| 問題 |
No.1409 Simple Math in yukicoder
|
| コンテスト | |
| ユーザー |
tamato
|
| 提出日時 | 2021-02-26 23:42:55 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 175 ms / 2,000 ms |
| コード長 | 911 bytes |
| コンパイル時間 | 131 ms |
| コンパイル使用メモリ | 82,480 KB |
| 実行使用メモリ | 77,952 KB |
| 最終ジャッジ日時 | 2024-10-02 16:32:01 |
| 合計ジャッジ時間 | 29,998 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 58 |
ソースコード
mod = 1000000007
eps = 10**-9
def main():
import sys
input = sys.stdin.buffer.readline
from random import randint
def primitive_root(P):
if P == 2:
return 1
div = []
for d in range(2, P+1):
if d*d > P-1:
break
if (P-1) % d == 0:
div.append(d)
div.append((P-1) // d)
while True:
k = randint(2, P-1)
ok = 1
for d in div:
if pow(k, d, P) == 1:
ok = 0
break
if ok:
return k
for _ in range(int(input())):
v, x = map(int, input().split())
p = v*x+1
r = primitive_root(p)
ans = []
for i in range(x):
ans.append(pow(r, i*v, p))
ans.sort()
print(*ans)
if __name__ == '__main__':
main()
tamato