結果

問題 No.1819 Mirrored 2
ユーザー zkou
提出日時 2022-01-21 23:09:20
言語 PyPy3
(7.3.15)
結果
RE  
(最新)
AC  
(最初)
実行時間 -
コード長 746 bytes
コンパイル時間 371 ms
コンパイル使用メモリ 81,912 KB
実行使用メモリ 69,772 KB
最終ジャッジ日時 2024-11-26 05:35:20
合計ジャッジ時間 3,372 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 1
other RE * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

P, Q, x, y = map(int, input().split())
for n in range(10 ** 4):
    q = n * Q + Q
    z = n * Q + y
    if z % 10 == 0:
        continue
    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