結果

問題 No.1819 Mirrored 2
ユーザー zkouzkou
提出日時 2022-01-21 23:05:05
言語 PyPy3
(7.3.15)
結果
RE  
実行時間 -
コード長 709 bytes
コンパイル時間 160 ms
コンパイル使用メモリ 82,304 KB
実行使用メモリ 69,456 KB
最終ジャッジ日時 2024-11-26 02:29:50
合計ジャッジ時間 2,915 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 1
other WA * 1 RE * 25
権限があれば一括ダウンロードができます

ソースコード

diff #

P, Q, x, y = map(int, input().split())
for n in range(10 ** 4):
    q = n * Q + Q
    z = n * Q + y
    d = len(str(q))
    rev_z = int(str(z).zfill(d)[::-1])
    rev_q = int(str(q)[::-1])
    if (x - rev_q) % P == 0 or rev_z % P == 0:
        continue
    goal = (x - rev_q) * pow(rev_z, P - 2, P) % P
    k = d
    t = pow(10, k, P)
    # print(goal)
    while t != goal:
        k += 1
        t *= 10
        t %= P
    # print(pow(10, k, P), goal) 
    break

answer_int = rev_z * 10 ** k + rev_q
# print(k)
# print(q, z)

# assert len(str(answer_int)) <= 10 ** 5
# assert answer_int % P == x, f"{answer_int % P, x}"
# assert int(str(answer_int)[::-1]) % Q == y, f"{answer_int % Q, y}"

print(answer_int)
0