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
AC × 2
AC × 32
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