#P15338. [GCPC 2025] Karlsruhe Skyline

[GCPC 2025] Karlsruhe Skyline

说明

摩天大楼是一种网格逻辑谜题,需要将数字 11nn 放入一个 n×nn \times n 的网格中。每个数字在每一行和每一列中必须恰好出现一次。这些数字被视为高度分别为对应数值的摩天大楼。行和列的两端可能有提示数字,这些数字描述了从该位置沿着该行或该列观察时,能看到的摩天大楼的数量,其中较高的建筑会遮挡其后任何较矮的建筑。

:::align{center}

图 K.1:样例输出 1 的图示。从左侧可以看到两座建筑(1 和 5),从右侧可以看到两座建筑(4 和 5)。 :::

在本问题中,我们只考虑摩天大楼网格中的一行,该行两端均有提示数字。请判断是否可能在这一行中放置 11nn 的摩天大楼以满足两个提示,如果可能,请给出一个有效的放置方案。

输入格式

输入包含:

  • 一行,三个整数 nnaabb2n10002 \leq n \leq 10001a,bn1 \leq a, b \leq n),分别表示行的长度、左侧提示数和右侧提示数。

输出格式

如果存在有效的放置方案,则输出 “yes”,后跟 nn 个互不相同的整数 h1,,hnh_1, \dots, h_n1hin1 \leq h_i \leq n),表示从左到右的建筑高度。

如果有多个有效解,你可以输出任意一个。

如果不存在有效的放置方案,则输出 “no”。

5 2 2
yes
1 5 2 3 4
5 3 4
no
10 3 4
yes
4 1 8 5 3 10 6 9 7 2
4 1 4
yes
4 3 2 1
9 1 1
no
6 2 1
yes
5 3 1 2 4 6

提示

翻译由 DeepSeek 完成