結果

問題 No.1458 Segment Function
ユーザー nasubi24
提出日時 2021-03-31 21:46:23
言語 PyPy3
(7.3.15)
結果
RE  
実行時間 -
コード長 941 bytes
コンパイル時間 189 ms
コンパイル使用メモリ 82,432 KB
実行使用メモリ 75,648 KB
最終ジャッジ日時 2024-12-15 17:02:51
合計ジャッジ時間 3,138 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 17 WA * 2 RE * 13
権限があれば一括ダウンロードができます

ソースコード

diff #

p,n=input().split()
ans=0
if p[0]=="-":
    ans+=1
    p=p[1:]
num=[6,2,5,5,4,5,6,4,7,6]
if n=="0":
    print(p)
else:
    memo=[]
    for i in range(10):
        for j in range(len(p)):
            ans+=num[int(p[j])]
        memo.append(ans)
        p=str(ans)
        ans=0
    if int(n)<=10:
        print(memo[int(n)-1])
    else:
        seen=[False]*(2*10**6)
        memo2=[]
        for i in range(2*10**6):
            for j in range(len(p)):
                ans+=num[int(p[j])]
            if seen[ans]==True:
                for j in range(len(memo2)):
                    if memo2[j]==ans:
                        k=j
                        break
                break
            memo2.append(ans)
            seen[ans]=True
            p=str(ans)
            ans=0
        if int(n)-10<len(memo2):
            print(memo2[int(n)-10])
        else:
            memo2=memo2[k:]
            print(memo2[(int(n)-10)%len(memo2)])
0