結果
| 問題 |
No.1409 Simple Math in yukicoder
|
| コンテスト | |
| ユーザー |
googol_S0
|
| 提出日時 | 2021-02-26 22:23:25 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 753 bytes |
| コンパイル時間 | 275 ms |
| コンパイル使用メモリ | 82,604 KB |
| 実行使用メモリ | 84,200 KB |
| 最終ジャッジ日時 | 2024-10-02 15:11:51 |
| 合計ジャッジ時間 | 57,963 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 15 WA * 43 |
ソースコード
F=[1]*100003
L=[]
for i in range(2,100001):
if F[i]^1:
continue
L.append(i)
for j in range(i*2,i,100001):
F[j]=0
def BG(X,Y,M):
D=dict()
D[1]=0
S=int(M**0.5)+1
Z=1
for i in range(1,S+1):
Z=Z*X%M
D[Z]=i
if D.get(Y,-1)!=-1:
if D[Y]:
return D[Y]
R=pow(Z,M-2,M)
for i in range(1,S+1):
Y=Y*R%M
if D.get(Y,-1)!=-1:
return D[Y]+i*S
return -1
def solve():
V,X=map(int,input().split())
P=V*X+1
Y=0
for i in range(len(L)):
x=BG(L[i],1,P)
if x%X==0:
Y=pow(L[i],x//X,P)
break
A=[1]
for i in range(X-1):
A.append(A[i]*Y%P)
A.sort()
for k in range(1,X+1):
Z=0
for i in range(X):
Z+=pow(A[i],k,P)
print(*A)
for i in range(int(input())):
solve()
googol_S0