結果

問題 No.1935 Water Simulation
ユーザー H20
提出日時 2022-05-13 21:44:59
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 47 ms / 2,000 ms
コード長 809 bytes
コンパイル時間 422 ms
コンパイル使用メモリ 82,304 KB
実行使用メモリ 59,776 KB
最終ジャッジ日時 2024-07-22 04:33:34
合計ジャッジ時間 2,709 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

import collections
V1,V2,V3,V4,N = map(int, input().split())
L1,L2,L3,L4 = V1,0,0,0
D = collections.defaultdict(lambda:-1)
i = 0

D[(L1,L2,L3,L4,i%4)]=0

while i<N:
    if i%4==0:
        if L1+L2<=V2:
            L1,L2=0,L1+L2
        else:
            L1,L2=L1+L2-V2,V2        
    if i%4==1:
        if L2+L3<=V3:
            L2,L3=0,L2+L3
        else:
            L2,L3=L2+L3-V3,V3       
    if i%4==2:
        if L3+L4<=V4:
            L3,L4=0,L3+L4
        else:
            L3,L4=L3+L4-V4,V4       
    if i%4==3:
        if L4+L1<=V1:
            L4,L1=0,L4+L1
        else:
            L4,L1=L4+L1-V1,V1
    i+=1
    if D[(L1,L2,L3,L4,i%4)]>=0:
        temp =  i-D[(L1,L2,L3,L4,i%4)]
        temp2 = (N-i)//temp
        i+=temp2*temp
        continue
    D[(L1,L2,L3,L4,i%4)]=i


print(L1,L2,L3,L4)
0