QOJ.ac

QOJ

时间限制: 2 s 内存限制: 256 MB 总分: 100

#5255. 贪婪的抽屉

统计

Janko 有 $N$ 个矩形笔记本放在桌子上。第 $i$ 个笔记本的边长为 $A_i$ 和 $B_i$。桌子旁边有一个抽屉柜,包含 $N$ 个抽屉,它们形状为矩形,但大小可能不同。第 $j$ 个抽屉的宽度为 $X_j$,深度为 $Y_j$。Janko 想要把每个笔记本存放在各自的抽屉里。他可以旋转笔记本,但放置时必须使笔记本的边与抽屉的边对齐。如果笔记本每一条边的长度都不超过抽屉对应对齐边的长度,则笔记本可以放入抽屉。

Janko 决定采用一种分配笔记本到抽屉的程序。对于每个笔记本,他会确定能放入该笔记本的抽屉数量。同样,他也会确定每个抽屉能容纳的笔记本数量。然后,他会选择选项数量最少的对象(笔记本或抽屉)。如果该对象没有可选方案,程序将以失败告终。如果有多个对象具有相同的最少选项数量,他将随机均匀地选择其中一个。他会从所选对象的选项中随机均匀地选择一个进行分配。如果选中的对象是笔记本,他会将其分配给一个能容纳该笔记本的随机抽屉。如果选中的对象是抽屉,他会将其分配给一个能放入该抽屉的随机笔记本。他会移除已分配的配对(笔记本和抽屉),并重复该过程,直到所有笔记本都被分配到抽屉中。

Metka 听说了 Janko 关于将笔记本放入抽屉的想法。她确信他的程序是有缺陷的,可能无法成功。请你编写一个程序,读入笔记本和抽屉的数量 $N$,并输出一组笔记本和一组抽屉,使得 Janko 的随机贪心方法不一定能找到一种将所有笔记本分配到抽屉的方案,尽管这种分配方案是存在的。

输入格式

第一行包含一个整数,即笔记本和抽屉的数量 $N$。

数据范围

  • $150 \le N \le 250$

输出格式

首先,输出 $N$ 行,每行包含两个空格分隔的整数,表示笔记本的边长 $A_i$ 和 $B_i$。接着,输出一个空行,随后输出 $N$ 行,每行包含两个空格分隔的整数,表示抽屉的尺寸 $X_j$ 和 $Y_j$。所有尺寸必须是 $1$ 到 $1000$ 之间的整数(包含 $1$ 和 $1000$)。

说明

为了评估你的程序输出,我们将对你的数据(笔记本和抽屉尺寸)运行 Janko 的随机贪心方法。注意,必须存在一种将所有笔记本分配到抽屉的方案,否则你的输出将被视为错误。你的方案将在 $20$ 个测试用例上进行评估,且 Janko 的方法必须在所有测试用例上都失败。对于每个测试用例,我们将使用固定的随机种子运行一次 Janko 的方法。

样例

样例输入 1

1

样例输出 1

4 3
2 6

样例输入 2

3

样例输出 2

4 4
3 5
6 1
2 7
5 4
5 5

说明

注意,提供的样例输入和输出是不正确的。输入不满足 $150 \le N$ 的约束。

在第一个样例中,只有一个笔记本无法放入唯一的抽屉,因此不存在有效的分配方案。

在第二个样例中,Janko 的方法会成功地将所有笔记本分配到抽屉中。首先,它会选择最后一个笔记本 ($6 \times 1$) 或第一个抽屉 ($2 \times 7$) 并将其分配给对方,因为两者都只有一个选项。现在剩下的两个笔记本都可以放入剩下的两个抽屉中,因此任何分配方式都可以。

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.