結果
問題 |
No.1004 サイコロの実装 (2)
|
ユーザー |
![]() |
提出日時 | 2020-03-06 21:47:55 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 577 bytes |
コンパイル時間 | 400 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-10-14 05:58:18 |
合計ジャッジ時間 | 2,678 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 6 WA * 32 |
ソースコード
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))