CF2068H.Statues

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

某市市长计划在城市交叉路口放置 nn 座雕像。城市交叉路口的坐标为所有整数坐标点 (x,y)(x, y)。交叉路口之间的距离使用曼哈顿距离计算,定义如下:

distance((x1,y1),(x2,y2))=∣x1−x2∣+∣y1−y2∣.\text{distance}((x_1, y_1), (x_2, y_2)) = |x_1 - x_2| + |y_1 - y_2|.

市议会对雕像的放置提出了以下要求:

  • 第一座雕像必须放置在 (0,0)(0, 0);
  • 第 nn 座雕像必须放置在 (a,b)(a, b);
  • 对于 i=1,…,n−1i = 1, \dots, n-1,第 ii 座雕像与第 (i+1)(i+1) 座雕像之间的距离必须为 did_i。允许将多座雕像放置在同一个交叉路口。

请帮助市长找到满足条件的 nn 座雕像的放置方案,或判定其不存在。

输入格式

第一行包含一个整数 nn(3≤n≤503 \le n \le 50)——雕像的数量。

第二行包含两个整数 aa 和 bb(0≤a,b≤1090 \le a, b \le 10^9)——第 nn 座雕像必须放置的坐标。

第三行包含 n−1n-1 个整数 d1,…,dn−1d_1, \dots, d_{n-1}(0≤di≤1090 \le d_i \le 10^9)——第 ii 座与第 (i+1)(i+1) 座雕像之间的距离。

输出格式

若存在有效放置方案,输出 YES\texttt{YES},否则输出 NO\texttt{NO}。

若存在有效方案,在接下来的 nn 行中输出具体方案。第 ii 行包含两个整数 xix_i 和 yiy_i,表示第 ii 座雕像的坐标。若有多个解,输出任意一个即可。

输入输出样例

  • 输入#1

    3
    5 8
    9 0

    输出#1

    NO
  • 输入#2

    4
    10 6
    7 8 5

    输出#2

    YES
    0 0
    6 -1
    11 2
    10 6

说明/提示

第一个样例中,不存在满足条件的 3 座雕像的放置方案。

第二个样例中,图示展示了一种可能的有效方案(注意并非唯一解):

翻译由 DeepSeek R1 完成

输入解题思路,AI测评打分。不知道怎么写?

首页