結果
| 問題 | 
                            No.1458 Segment Function
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2022-09-19 00:18:47 | 
| 言語 | Python3  (3.13.1 + numpy 2.2.1 + scipy 1.14.1)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 108 ms / 2,000 ms | 
| コード長 | 715 bytes | 
| コンパイル時間 | 518 ms | 
| コンパイル使用メモリ | 12,672 KB | 
| 実行使用メモリ | 13,612 KB | 
| 最終ジャッジ日時 | 2024-10-12 13:40:03 | 
| 合計ジャッジ時間 | 3,916 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 32 | 
ソースコード
p, n = input().split()
if n == '0':
    print(p)
    exit()
add = 0
if p[0] == '-':
    add += 1
    p = p[1:]
P = [int(i) for i in p]
m = len(P)
def change_digit(P):
    for i in range(len(P)):
        if P[i] == 1:
            P[i] = 2
        elif P[i] == 2 or P[i] == 3:
            P[i] = 5
        elif P[i] == 0 or P[i] == 9:
            P[i] = 6
        elif P[i] == 8:
            P[i] = 7
        elif P[i] == 7:
            P[i] = 4
    return P
cnt = 0
while n != str(cnt):
    cnt += 1
    P = change_digit(P)
    sumP = str(sum(P) + add)
    if add == 1:
        add = 0
    P = [int(i) for i in sumP]
    if len(P) == 1:
        if P[0] in (4, 5, 6):
            break
print(''.join(map(str, P)))