結果

問題 No.1004 サイコロの実装 (2)
ユーザー prd_xxxprd_xxx
提出日時 2020-03-06 21:47:55
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
WA  
実行時間 -
コード長 577 bytes
コンパイル時間 205 ms
コンパイル使用メモリ 13,056 KB
実行使用メモリ 10,880 KB
最終ジャッジ日時 2024-04-22 06:44:04
合計ジャッジ時間 2,550 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 31 ms
10,752 KB
testcase_01 AC 30 ms
10,752 KB
testcase_02 AC 30 ms
10,624 KB
testcase_03 AC 31 ms
10,752 KB
testcase_04 AC 31 ms
10,752 KB
testcase_05 AC 30 ms
10,752 KB
testcase_06 WA -
testcase_07 AC 30 ms
10,752 KB
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 AC 30 ms
10,752 KB
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 WA -
testcase_20 WA -
testcase_21 WA -
testcase_22 WA -
testcase_23 WA -
testcase_24 WA -
testcase_25 WA -
testcase_26 WA -
testcase_27 WA -
testcase_28 WA -
testcase_29 WA -
testcase_30 WA -
testcase_31 WA -
testcase_32 WA -
testcase_33 WA -
testcase_34 WA -
testcase_35 WA -
testcase_36 WA -
testcase_37 WA -
testcase_38 WA -
testcase_39 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

A,B,X,N = map(int,input().split())

m = [X%6]
while 1:
    x = A*m[-1] + B
    x %= 6
    if x in m: break
    m.append(x)
m = [1-n%2 for n in m]
m += m
tm,am = m[::2], m[1::2]
to,ao,te,ae = [0],[0],[0],[0]
ct = ca = 0
for t,a in zip(tm,am):
    ct += t
    ca += a
    to.append(to[-1] + int(ct%2==1))
    te.append(te[-1] + int(ct%2==0))
    ao.append(ao[-1] + int(ca%2==1))
    ae.append(ae[-1] + int(ca%2==0))

d,m = divmod(N,len(tm))
t_odd = to[-1]*d + to[m]
t_ev = te[-1]*d + te[m]
a_odd = ao[-1]*d + ao[m]
a_ev = ae[-1]*d + ae[m]

print(min(t_odd,t_ev), min(a_odd,a_ev))
0