QOJ.ac

QOJ

実行時間制限: 2.0 s メモリ制限: 512 MB 満点: 100 インタラクティブ ハック可能 ✓

#16924. 损坏的排序

統計

这是一个交互式问题。

Chloe 想要测试她的排序能力。她有 $n$ 张卡片,上面写着从 $1$ 到 $n$ 的互不相同的整数。她让她的弟弟 Connor 先蒙住她的眼睛,然后将所有卡片按某种顺序排成一排。卡片的位置从左到右依次编号为 $1$ 到 $n$。

Chloe 不知道卡片的顺序,但她想对它们进行排序,使得最左边的卡片数字为 $1$,最右边的卡片数字为 $n$。形式化地,对于每个 $i$,她希望位置 $i$ 上的卡片数字为 $i$。为了达到这个目标,Chloe 可以让 Connor 进行一次或多次操作。

每次操作可以用两个整数 $pos_i$ 和 $pos_j$($1 \le pos_i < pos_j \le n$)来表示。Connor 会查看位置 $pos_i$ 和 $pos_j$ 上的卡片,如果位置 $pos_i$ 上的卡片数字大于位置 $pos_j$ 上的卡片数字,他就交换它们。否则,他什么也不做。Connor 还会告诉 Chloe 他是否交换了卡片。

为了让游戏更有趣,每进行 $2n$ 次操作后,Connor 会在 Chloe 不知情的情况下,等概率随机选择两张不同的卡片并交换它们。

如果在 Chloe 的某些操作之后,所有卡片都排好了序,Chloe 就赢了。请帮助 Chloe 在最多使用 $10\,000$ 次操作的情况下对所有卡片进行排序。

交互

你的程序应该首先读取一个整数 $n$($2 \le n \le 50$)——卡片的数量。

你的程序可以请求进行一次或多次上述操作。要进行操作,你的程序应该输出其描述,格式为 "pos_i pos_j" —— 两个不同的数字,表示卡片的位置($1 \le pos_i < pos_j \le n$)。请记住,在输出每次操作描述后要刷新输出缓冲区(flush)。

然后,你的程序应该读取操作的结果 —— 如果卡片被交换了,它将是一个单词 SWAPPED;如果什么都没有改变,它将是一个单词 STAYED

如果你的程序收到的不是操作结果,而是一个单词 WIN,这意味着卡片已经排好序。你的程序应该在此之后静默退出,不允许输出任何额外的操作。

每进行 $2n$ 次操作后,会有两张不同的卡片被随机选择并交换,而不会通知你的程序。每对卡片被选中的概率均等。这次交换不计入操作次数。

样例

输入样例 1

3
SWAPPED
STAYED
WIN

输出样例 1

1 2
1 3
2 3

说明

样例中卡片的初始顺序为 $3$ $1$ $2$(即位置 $1$ 上的卡片数字为 $3$,位置 $2$ 上的卡片数字为 $1$,位置 $3$ 上的卡片数字为 $2$)。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.