AT_ijpc2015_c しりとり木
题目描述
给定 $m$ 个小写英文字母组成的字符串。
判断是否存在一棵包含 $m$ 个节点的有根树,满足以下条件:
- 除叶子节点外的所有节点都有两个子节点。
- 如果节点 $i$ 是节点 $c$ 的父节点,那么第 $i$ 个字符串的最后一个字符与第 $c$ 个字符串的第一个字符相同。
如果这样的树存在,请构造出这棵树。
13:35 修正了题目中的错误
**由于 B 题的测试用例存在错误,非常抱歉,我们将在 16:30 之后提供新的测试用例。(16:10)**
输入格式
输入通过标准输入提供,格式如下:
> $N$ $s_1$ ... $s_N$
- 第一行是一个整数 $N (1 \leq N \leq 10^4)$,表示字符串的数量。
- 接下来 $N$ 行,每行一个字符串,第 $i+1\ (1 \leq i \leq N)$ 行给出第 $i$ 个字符串。
- 每个字符串长度为 1 到 10 个字符。
输出格式
结果输出到标准输出,末尾需换行。
如果没有满足条件的树,输出 `NO`。
如果存在满足条件的树,输出 $N+1$ 行。第一行输出 `YES`,接着的 $N$ 行中,第 $i+1\ (1 \leq i \leq N)$ 行输出第 $i$ 个字符串的父节点编号。如果第 $i$ 个字符串是根节点,则输出 0。
说明/提示
### 注意事项
本题没有部分得分。
**考虑到对比赛的影响,原测试用例共计 99 分,新增测试用例共计 1 分。(16:32)**
### 样例说明
#### 输入样例 3
```
1
i
```
#### 输出样例 3
```
YES
0
```
**本翻译由 AI 自动生成**