結果
| 問題 |
No.2868 Another String of yuusaan
|
| コンテスト | |
| ユーザー |
gew1fw
|
| 提出日時 | 2025-06-12 19:51:46 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,757 bytes |
| コンパイル時間 | 332 ms |
| コンパイル使用メモリ | 82,464 KB |
| 実行使用メモリ | 84,432 KB |
| 最終ジャッジ日時 | 2025-06-12 19:52:22 |
| 合計ジャッジ時間 | 3,971 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | TLE * 1 -- * 17 |
ソースコード
def max_power_7_le_k(K):
if K < 1:
return -1
low = 0
high = 1
while 7 ** high <= K:
high *= 2
while low <= high:
mid = (low + high) // 2
try:
val = 7 ** mid
except OverflowError:
val = float('inf')
if val == K:
return mid
elif val < K:
low = mid + 1
else:
high = mid - 1
return high
def find_char(N, K):
current_level = N
current_K = K
while True:
for c in ['y', 'u', 'u', 's', 'a', 'a', 'n']:
if c in ('u', 'a'):
m = max_power_7_le_k(current_K)
if m >= current_level - 1:
len_c = 7 ** (current_level - 1)
if current_K <= len_c:
if current_level == 1:
return c
current_level -= 1
replace_str = ['y', 'u', 'u', 's', 'a', 'a', 'n']
current_string = replace_str
break
else:
current_K -= len_c
else:
continue
else:
len_c = 1
if current_K <= len_c:
return c
else:
current_K -= len_c
else:
if current_level == 1:
return current_string[current_K - 1]
else:
current_level -= 1
current_string = ['y', 'u', 'u', 's', 'a', 'a', 'n']
def main():
import sys
input = sys.stdin.read().split()
N = int(input[0])
K = int(input[1])
print(find_char(N, K))
if __name__ == "__main__":
main()
gew1fw