P3561 [POI 2017] Turysta

题目描述

给出一个 $n$ 个点的有向图,任意两个点之间有且仅一条有向边。 对于每个点 $v$,求出从 $v$ 出发的一条经过点数最多,且没有重复经过同一个点两次及两次以上的简单路径。

输入格式

第一行包含一个正整数 $n$,表示点数。 接下来的 $n-1$ 行,其中的第 $i$ 行有 $i-1$ 个数。 如果第 $j$ 个数是 $1$,那么表示有向边 $j\rightarrow i+1$ ,如果是 $0$,那么表示有向边 $j\leftarrow i+1$。

输出格式

输出 $n$ 行,第 $i$ 行首先包含一个正整数 $k$,表示从 $i$ 点出发的最优路径所经过的点数。 接下来 $k$ 个正整数,依次表示路径上的每个点。 若有多组最优解,输出任意一组。 **本题使用 SPJ (Claris 制作)**

说明/提示

对于 $100\%$ 的数据,$2\le n\le 2 \times 10^3$。