結果
問題 | No.1831 Parasol |
ユーザー | LyricalMaestro |
提出日時 | 2024-09-21 02:51:59 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 93 ms / 2,000 ms |
コード長 | 1,598 bytes |
コンパイル時間 | 241 ms |
コンパイル使用メモリ | 82,096 KB |
実行使用メモリ | 81,152 KB |
最終ジャッジ日時 | 2024-09-21 02:52:03 |
合計ジャッジ時間 | 3,489 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 42 ms
54,016 KB |
testcase_01 | AC | 91 ms
81,152 KB |
testcase_02 | AC | 43 ms
54,016 KB |
testcase_03 | AC | 42 ms
54,272 KB |
testcase_04 | AC | 93 ms
80,352 KB |
testcase_05 | AC | 42 ms
54,016 KB |
testcase_06 | AC | 43 ms
53,888 KB |
testcase_07 | AC | 88 ms
79,744 KB |
testcase_08 | AC | 43 ms
53,888 KB |
testcase_09 | AC | 42 ms
54,272 KB |
testcase_10 | AC | 85 ms
79,720 KB |
testcase_11 | AC | 91 ms
80,176 KB |
testcase_12 | AC | 66 ms
72,960 KB |
testcase_13 | AC | 89 ms
80,256 KB |
testcase_14 | AC | 54 ms
63,872 KB |
testcase_15 | AC | 58 ms
68,096 KB |
testcase_16 | AC | 44 ms
54,272 KB |
testcase_17 | AC | 52 ms
54,016 KB |
testcase_18 | AC | 58 ms
67,072 KB |
testcase_19 | AC | 44 ms
53,760 KB |
ソースコード
## https://yukicoder.me/problems/no/1831 from collections import deque def main(): N = int(input()) matrixs = [[-1] * (N - 1) for _ in range(2 * N - 1)] queue = deque() for n in reversed(range(1, 2 * N)): for _ in range(n): queue.append(n) for j in range(N - 1): for i in range(2 * N - 1): matrixs[i][j] = queue.popleft() a_map = [] prev_value_tuple = None for i in range(2 * N - 1): value_tuple = tuple(matrixs[i]) if prev_value_tuple != value_tuple: a_map.append([value_tuple, 1]) else: a_map[-1][1] += 1 prev_value_tuple = value_tuple answers = [] for value_tuple, cnt in a_map: v_map = {} reserve_queue = deque() while len(queue) > 0 and cnt > 0: v = queue.popleft() if v not in v_map: v_map[v] = 0 if v_map[v] < 2: v_map[v] += 1 cnt -= 1 else: reserve_queue.append(v) if cnt > 0: print("No") return while len(reserve_queue) > 0: w = reserve_queue.pop() queue.appendleft(w) for v, cnt2 in v_map.items(): for _ in range(cnt2): t = list(value_tuple) t.append(v) answers.append(t) print(len(answers)) for tuples in answers: print(" ".join(map(str, tuples))) if __name__ == "__main__": main()