SP4574 CYCLERUN - Riding in cycles

题目描述

在你的国家有 $N$ 个城市,编号从 $1$ 到 $N$。**每一对**城市之间只有唯一一条道路连接。然而,这些道路都是**单向的**,也就是说,每对城市($A, B$)之间,要么可以直接从 $A$ 到 $B$,要么可以从 $B$ 到 $A$。 你居住在城市 $1$,正在为即将到来的自行车马拉松进行训练,因此你计划设计如下的训练路线: - 第一天,从城市 $1$ 出发,经过 $3$ 条道路后返回城市 $1$。 - 第二天,同样从城市 $1$ 出发,经过 $4$ 条道路后返回城市 $1$。 - 第三天,经过 $5$ 条道路,依此类推,直到最后一天。 在第 $(N-2)$ 天,你需要走过 $N$ 条道路,并回到城市 $1$。 每天训练时,你希望做到不重复访问同一天内的城市,除了城市 $1$ 作为起点和终点。 编写一个程序,根据给定的城市道路布局,输出每天的训练路线;若无法设计出每日所需的训练路线,则输出“impossible”。

输入格式

第一行包含整数 $N$($3 < N \le 1000$)。 接下来的 $N$ 行中,每行包含 $N$ 个字符,描述城市之间的道路布局。如果可以从城市 $i$ 到城市 $j$,则第 $i$ 行的第 $j$ 个字符为 '1',否则为 '0'。

输出格式

分别输出每天的训练路线,每条路线用空格分隔城市编号。每条路线都必须以 $1$ 号城市开始和结束。 如果无法实现任何一天的训练要求,请在单独一行输出“impossible”。 **本翻译由 AI 自动生成**