#P13725. [GCPC 2024] Jigsaw Present

    ID: 13725 远端评测题 5000ms 1024MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>2024Special JudgeICPC折半搜索 meet in the middle

[GCPC 2024] Jigsaw Present

Description

Julia 正在为 James 准备一份礼物。她会从自己拥有的 nn 个拼图中选出一些送给他,其中第 ii 个拼图(1in1 \leq i \leq n)包含 xix_i 块拼图,并且难度为 yiy_i(如果拼图非常简单,yiy_i 可以为负数)。

James 已经非常激动,并且想提前知道自己会收到什么。因此,他动用了一些“犯罪天赋”收集到了关于礼物的信息。具体来说,他设法获得了一条加密消息,内容是他将收到的所有拼图的总难度和总块数。

现在他想知道,是否值得花更多时间去解密这条消息。毕竟,这些信息可能不足以唯一确定他的礼物。由于他对计算机一窍不通,James 向你寻求帮助。请你帮他判断是否值得解密这条消息。如果不能唯一确定礼物,你还需要找出两种不同的礼物,它们对应的加密消息是相同的。

Input Format

输入包含:

  • 一行一个整数 nn2n40962 \leq n \leq 4096),表示 Julia 拥有的拼图数量。
  • 接下来 nn 行,每行两个整数 xix_iyiy_i1xi40961 \leq x_i \leq 4096yi4096|y_i| \leq 4096),分别表示第 ii 个拼图的块数和难度。

Output Format

如果 James 能唯一确定他的礼物,则输出“yes\texttt{yes}”。否则,输出“no\texttt{no}”,并在接下来的两行中分别描述两份不同的礼物。每份礼物的描述应以一个整数 kk 开头,表示拼图数量,后跟 kk 个不同的整数,表示拼图的编号。

注意,这两份礼物必须不同,即至少有一个拼图只在其中一份礼物中出现。

如果存在多组拼图组合满足条件,你可以输出任意一组。

5
2 -1
3 2
3 1
1 -3
1 1
no
3 2 4 5
2 1 3
4
2 -1
3 2
3 1
1 -3
yes

Hint

在第一个样例中,第一份礼物包含拼图 224455。总块数为 3+1+1=53 + 1 + 1 = 5,总难度为 2+(3)+1=02 + (-3) + 1 = 0。第二份礼物包含拼图 1133。总块数为 2+3=52 + 3 = 5,总难度为 (1)+1=0(-1) + 1 = 0。因此,如果 James 只知道总块数和总难度,他无法确定自己的礼物,所以不值得解密消息。

在第二个样例中,无论 Julia 如何准备礼物,只要 James 知道总块数和总难度,他都能确定自己的礼物,所以值得解密消息。

由 ChatGPT 4.1 翻译