結果
| 問題 | No.3682 きあいのハチマキ |
| コンテスト | |
| ユーザー |
detteiuu
|
| 提出日時 | 2026-09-05 15:19:06 |
| 言語 | PyPy3 (7.3.23) |
| 結果 |
AC
|
| 実行時間 | 136 ms / 2,000 ms |
| + 809µs | |
| コード長 | 887 bytes |
| 記録 | |
| コンパイル時間 | 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 |
ソースコード
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)
detteiuu