Submission #51932116
Source Code Expand
import sys
def printe(*args, end="\n", **kwargs):
print(*args, end=end, file=sys.stderr, **kwargs)
def main():
N, M = map(int, input().split())
patterns = []
diff = set()
s_idx = 1
e_idx = N
if N % 2 == 0:
diff.add(N // 2)
for _ in range(M):
while e_idx - s_idx in diff:
s_idx += 1
patterns.append((s_idx, e_idx))
diff.add(e_idx - s_idx)
diff.add(N - e_idx + s_idx)
s_idx += 1
e_idx -= 1
else:
for _ in range(M):
patterns.append((s_idx, e_idx))
s_idx += 1
e_idx -= 1
for pt in patterns:
print(*pt)
# # シミュレーション
# comb_ = set()
# members = {idx: idx for idx in range(N)}
# for _ in range(N):
# members_rev = {v: k for k, v in members.items()}
# for pt in patterns:
# card = (members_rev[pt[0] - 1], members_rev[pt[1] - 1])
# if card[1] < card[0]:
# card = (card[1], card[0])
# if card in comb_:
# printe(members_rev)
# printe(comb_)
# printe(card)
# raise ValueError
# comb_.add(card)
# for idx in range(N):
# members[idx] += 1
# members[idx] %= N
if __name__ == "__main__":
main()
Submission Info
| Submission Time | |
|---|---|
| Task | E - Rotation Matching |
| User | kotori |
| Language | Python (PyPy 3.10-v7.3.12) |
| Score | 500 |
| Code Size | 1454 Byte |
| Status | AC |
| Exec Time | 97 ms |
| Memory | 108116 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | Sample_01.txt, Sample_02.txt |
| All | Sample_01.txt, Sample_02.txt, basic_01.txt, basic_02.txt, basic_03.txt, basic_04.txt, basic_05.txt, basic_06.txt, basic_07.txt, basic_08.txt, basic_09.txt, basic_10.txt, rand_large01.txt, rand_large02.txt, rand_large03.txt, rand_large04.txt, rand_large05.txt, rand_small01.txt, rand_small02.txt, rand_small03.txt, rand_small04.txt, rand_small05.txt, second_01.txt, second_02.txt, second_03.txt, second_04.txt, second_05.txt, second_06.txt, second_07.txt, second_08.txt, second_09.txt, second_10.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| Sample_01.txt | AC | 55 ms | 76044 KiB |
| Sample_02.txt | AC | 56 ms | 76204 KiB |
| basic_01.txt | AC | 55 ms | 75960 KiB |
| basic_02.txt | AC | 56 ms | 76000 KiB |
| basic_03.txt | AC | 55 ms | 76248 KiB |
| basic_04.txt | AC | 55 ms | 76292 KiB |
| basic_05.txt | AC | 55 ms | 76304 KiB |
| basic_06.txt | AC | 88 ms | 88696 KiB |
| basic_07.txt | AC | 88 ms | 89756 KiB |
| basic_08.txt | AC | 69 ms | 81296 KiB |
| basic_09.txt | AC | 74 ms | 83864 KiB |
| basic_10.txt | AC | 77 ms | 85572 KiB |
| rand_large01.txt | AC | 69 ms | 81656 KiB |
| rand_large02.txt | AC | 69 ms | 81660 KiB |
| rand_large03.txt | AC | 69 ms | 81576 KiB |
| rand_large04.txt | AC | 68 ms | 81504 KiB |
| rand_large05.txt | AC | 76 ms | 84844 KiB |
| rand_small01.txt | AC | 56 ms | 76088 KiB |
| rand_small02.txt | AC | 56 ms | 75908 KiB |
| rand_small03.txt | AC | 57 ms | 76012 KiB |
| rand_small04.txt | AC | 57 ms | 76404 KiB |
| rand_small05.txt | AC | 55 ms | 76336 KiB |
| second_01.txt | AC | 55 ms | 76220 KiB |
| second_02.txt | AC | 55 ms | 76076 KiB |
| second_03.txt | AC | 55 ms | 76028 KiB |
| second_04.txt | AC | 56 ms | 76196 KiB |
| second_05.txt | AC | 55 ms | 75932 KiB |
| second_06.txt | AC | 68 ms | 81528 KiB |
| second_07.txt | AC | 77 ms | 87656 KiB |
| second_08.txt | AC | 85 ms | 94328 KiB |
| second_09.txt | AC | 91 ms | 102416 KiB |
| second_10.txt | AC | 97 ms | 108116 KiB |