“为什么要攀登?因为山就在那里。”
慕士塔格山上有
记
定义一条登山路径为从
定义一次从
- 冲刺:在给定的冲刺范围
内,选择一个正整数 满足 ,向山顶移动 步,即移动至 号点位在有根树上的 级父亲处。保证 。 - 休息:由于慕士塔格山地形陡峭,休息时会滑落到某一个儿子结点处。形式化地说,选择一个满足
的 ,移动至到 号点位。特别地,若 号点位为有根树的叶子结点,则不存在满足 的 ,因此此时不能选择休息。
定义一条登山路径对应的登山序列为初始点位以及每次移动到的点位所构成的序列。形式化地说,一条从
为了保证每次冲刺都能更接近山顶,一条合法的登山路径需要满足:对于初始点位或某次移动到的点位
对于
输入格式
本题有多组测试数据。
输入的第一行包含一个整数
输入的第二行包含一个整数
接下来依次输入每组测试数据,对于每组测试数据:
输入的第一行包含一个整数
接下来
输出格式
对于每组测试数据,输出一行
样例一
input
0
3
5
1 1 1 0
2 1 1 0
2 1 2 1
4 2 3 0
6
1 1 1 0
2 1 2 0
3 1 3 2
4 1 4 1
5 1 5 3
6
1 1 1 0
2 1 2 0
2 1 2 0
3 1 2 0
3 2 3 2
output
3 3 2 4
5 9 3 21 6
4 10 5 14 1
explanation
样例
对于第一组测试数据,慕士塔格山的点位结构如下:
在该测试数据中,
从
- 直接选择冲刺到
的 级父亲,也就是 ,到达山顶,对应的登山序列为 。 - 先休息滑落到
;然后从 冲刺到它的 级父亲,到达山顶。对应的登山序列为 。
从
- 直接选择冲刺到
的 级父亲,也就是 ,到达山顶。对应的登山序列为 。 - 先冲刺到
的 级父亲,也就是 ;然后再从 冲刺到它的 级父亲,到达山顶。对应的登山序列为 。 - 先冲刺到
的 级父亲,也就是 ;然后在 处休息,滑落到 ;接着从 冲刺到它的 级父亲,到达山顶。对应的登山序列为 。 - 先冲刺到
的 级父亲,也就是 ;然后在 处休息,滑落到 ;继续休息,滑落到 ;接着从 再次冲刺到它的 级父亲,到达山顶。对应的登山序列为 。
样例二
见附件下载中的 ex_mountain2.in
与 ex_mountain2.ans
。
这个样例满足测试点
样例三
见附件下载中的 ex_mountain3.in
与 ex_mountain3.ans
。
这个样例满足测试点
样例四
见附件下载中的 ex_mountain4.in
与 ex_mountain4.ans
。
这个样例满足测试点
样例五
见附件下载中的 ex_mountain5.in
与 ex_mountain5.ans
。
这个样例满足测试点
数据范围
对于所有测试数据保证:
对于任意的
测试点编号 | 是否有 |
是否有 |
是否有 |
|
---|---|---|---|---|
否 | 否 | 否 | ||
是 | 是 | 是 | ||
否 | ||||
否 | 是 | |||
否 | ||||
否 | 是 | 是 | ||
否 | ||||
否 | 是 | |||
否 |
时间限制:
空间限制: