結果

問題 No.551 夏休みの思い出(2)
ユーザー pekempeypekempey
提出日時 2017-07-29 03:14:26
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
TLE  
実行時間 -
コード長 490 bytes
コンパイル時間 139 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 20,940 KB
最終ジャッジ日時 2024-10-10 20:31:38
合計ジャッジ時間 6,750 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample -- * 2
other AC * 17 TLE * 1 -- * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

p,r=map(int,input().split())
f=lambda a:pow(a,(p-1)//2,p)!=p-1
def h(a):
    if a%p==0:return 0
    b=2
    while f(b*b-a):b+=1
    h=lambda u,v:(u[0]*v[0]+u[1]*v[1]*(b*b-a),u[0]*v[1]+u[1]*v[0])
    e,r,v=(p+1)//2,(1,0),(b,1)
    while e:
        if e&1:r=h(r,v)
        v,e=h(v,v),e//2
    return r[0]
for _ in range(int(input())):
    a,b,c=map(int,input().split())
    d=b*b-4*a*c
    a=pow(2*a,p-2,p)
    D=h(d)
    if f(d):print(*sorted(set(((D-b)*a%p,(-b-D)*a%p))))
    else:print(-1)
0