結果
| 問題 |
No.1455 拡張ROTN
|
| コンテスト | |
| ユーザー |
lam6er
|
| 提出日時 | 2025-03-26 15:44:24 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 42 ms / 2,000 ms |
| コード長 | 967 bytes |
| コンパイル時間 | 227 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 61,692 KB |
| 最終ジャッジ日時 | 2025-03-26 15:44:38 |
| 合計ジャッジ時間 | 1,819 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 22 |
ソースコード
def process_char(c, k):
if k == 0:
return c
if not c.isdigit():
# Process letters
if c.islower():
base = ord('a')
else:
base = ord('A')
shifted = (ord(c) - base + k) % 26
return chr(base + shifted)
else:
d = int(c)
if d < 9:
possible_m = 9 - d
if k <= possible_m:
return str(d + k)
else:
k -= possible_m
# Now it becomes 9, and we need to process one more step
k -= 1 # Convert 9 to the string
s = 'CpCzNkSuTbEoA'
return ''.join(process_char(ch, k) for ch in s)
else:
# d == 9
s = 'CpCzNkSuTbEoA'
k -= 1
return ''.join(process_char(ch, k) for ch in s)
S0 = input().strip()
N = int(input())
result = []
for c in S0:
result.append(process_char(c, N))
print(''.join(result))
lam6er