結果

問題 No.3682 きあいのハチマキ
コンテスト
ユーザー detteiuu
提出日時 2026-09-05 15:19:06
言語 PyPy3
(7.3.23)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 136 ms / 2,000 ms
+ 809µs
コード長 887 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 235 ms
コンパイル使用メモリ 96,080 KB
実行使用メモリ 85,660 KB
最終ジャッジ日時 2026-09-05 15:19:18
合計ジャッジ時間 1,813 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge5_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 2
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

from sys import stdin
input = stdin.readline

def inverse(n, d):
    return n * pow(d, -1, MOD) % MOD

def infinite(a, r):
    # a = 初項 r = 公比
    return inverse(a, 1-r)

def func():
    pass

MOD = 998244353
p10 = pow(10, -1, MOD)
p100 = pow(100, -1, MOD)
half = pow(2, -1, MOD)

for _ in range(int(input())):
    h1, a1, s1, h2, a2, s2 = map(int, input().split())

    MIN = max(min((h1-1)//a2, (h2-1)//a1), 0)
    h1 -= MIN*a2
    h2 -= MIN*a1
    c1 = (h1-1)//a2
    c2 = (h2-1)//a1

    swap = False
    if c1 > c2:
        c1, c2 = c2, c1
        s1, s2 = s2, s1
        swap = True

    ans = -1
    if s1 < s2:
        ans = infinite(pow(p10, c2+1, MOD)*inverse(9, 10)%MOD, p100)
    elif s1 > s2:
        ans = infinite(pow(p10, c2, MOD)*inverse(9, 10)%MOD, p100)
    else:
        ans = pow(p10, c2, MOD)*half%MOD

    if swap:
        ans = (1-ans)%MOD

    print(ans)
0