提出 #15217464
ソースコード 拡げる
import sys from heapq import heappush, heappop, heappushpop import itertools read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines def main(N): def f(x): for d in range(2, 6): q, r = divmod(x, d) if r == 0: yield q, f'*{d}' for d in range(2, 6): for a in range(d): yield x * d + a, f'//{d}' par = dict() q = [-N] # 作れる数。上位 100 件を持つ。 maxsize = 100 for _ in range(1000): if max(q) >= -5: break newq = [] for x in q: x = -x for y, string in f(x): if y in par: continue par[y] = string if len(newq) < maxsize: heappush(newq, -y) else: heappushpop(newq, -y) q = newq # 復元する x = -max(q) expressions = [str(x)] while x != N: string = par[x] expressions.append(string) x = eval(str(x) + string) expression = ''.join(expressions) assert eval(expression) == N, (N, expression) return expression.replace('//', '/') N = int(read()) print(main(N))
提出情報
提出日時 | |
---|---|
問題 | H - 整数をつくろう! |
ユーザ | maspy |
言語 | Python (3.8.2) |
得点 | 141.98 |
コード長 | 1320 Byte |
結果 | AC |
実行時間 | 479 ms |
メモリ | 86736 KiB |
ジャッジ結果
セット名 | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
得点 / 配点 | 0 / 0 | 5 / 5 | 10 / 10 | 126.98 / 85 | ||||||||
結果 |
|
|
|
|
セット名 | テストケース |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
Subtask1 | sample_01.txt, sample_02.txt, sample_03.txt, small_01.txt, small_02.txt, small_03.txt, small_04.txt, small_05.txt |
Subtask2 | sample_01.txt, sample_02.txt, sample_03.txt, small_01.txt, small_02.txt, small_03.txt, small_04.txt, small_05.txt, mid_01.txt, mid_02.txt, mid_03.txt, mid_04.txt, mid_05.txt |
Subtask3 | score_01.txt, score_02.txt, score_03.txt, score_04.txt, score_05.txt, score_06.txt, score_07.txt, score_08.txt, score_09.txt, score_10.txt |
ケース名 | 結果 | 実行時間 | メモリ |
---|---|---|---|
mid_01.txt | AC | 70 ms | 14572 KiB |
mid_02.txt | AC | 70 ms | 14180 KiB |
mid_03.txt | AC | 64 ms | 14576 KiB |
mid_04.txt | AC | 69 ms | 14124 KiB |
mid_05.txt | AC | 73 ms | 14472 KiB |
sample_01.txt | AC | 24 ms | 9232 KiB |
sample_02.txt | AC | 28 ms | 9404 KiB |
sample_03.txt | AC | 26 ms | 9332 KiB |
score_01.txt | AC | 473 ms | 86736 KiB |
score_02.txt | AC | 463 ms | 86156 KiB |
score_03.txt | AC | 468 ms | 86620 KiB |
score_04.txt | AC | 479 ms | 86648 KiB |
score_05.txt | AC | 445 ms | 65056 KiB |
score_06.txt | AC | 479 ms | 86652 KiB |
score_07.txt | AC | 465 ms | 86036 KiB |
score_08.txt | AC | 466 ms | 86236 KiB |
score_09.txt | AC | 437 ms | 64856 KiB |
score_10.txt | AC | 443 ms | 65744 KiB |
small_01.txt | AC | 35 ms | 9680 KiB |
small_02.txt | AC | 27 ms | 9636 KiB |
small_03.txt | AC | 37 ms | 9936 KiB |
small_04.txt | AC | 29 ms | 9652 KiB |
small_05.txt | AC | 40 ms | 10040 KiB |