1105: 邻接矩阵

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:94 Solved:52

Description

这个问题描述如下:

给定一个包含 \( N \) 个顶点的简单无向图 \( G \),顶点标记为 1, 2, ..., N。 

你被给定了 \( G \) 的邻接矩阵 \( (A_{i,j}) \)。也就是说,如果 \( G \) 中有一条边连接顶点 \( i \) 和 \( j \),那么 \( A_{i,j} = 1 \)。

对于每一个 \( i = 1, 2, ..., N \),按升序打印与顶点 \( i \) 直接相连的顶点的编号。

在这里,如果有一条边连接顶点 \( i \) 和 \( j \),则称顶点 \( i \) 和 \( j \) 是直接相连的。

Input

问题描述的附加信息如下:

- \( 2 \leq N \leq 100 \)
- \( A_{i,j} \in \{0, 1\} \)
- \( A_{i,i} = 0 \)
- \( A_{i,j} = A_{j,i} \)
- 所有输入值都是整数。

输入的格式如下:






这意味着你首先会读取一个整数 \( N \),表示图中的顶点数量。接着,你会读取一个 \( N \times N \) 的矩阵 \( A \),其中 \( A_{i,j} \) 表示顶点 \( i \) 和顶点 \( j \) 之间是否有边。如果 \( A_{i,j} = 1 \),则表示有边,否则没有边。

你需要为每个顶点 \( i \) 输出直接连接到它的顶点的编号,并按升序排列。

Output

打印 lns="http://www.w3.org/1998/Math/MathML">NN 行。第 lns="http://www.w3.org/1998/Math/MathML">ii 行应包含直接连接到顶点 lns="http://www.w3.org/1998/Math/MathML">ii 的顶点编号,按升序排列,并用空格分隔。

Sample Input Copy

4
0 1 1 0
1 0 0 1
1 0 0 0
0 1 0 0

Sample Output Copy

2 3
1 4
1
2

HINT

顶点1直接连接到顶点2和3。因此,第一行应该按顺序包含2和3。 同样地,第二行应该按顺序包含1和4,第三行应该包含1,第四行应该包含2。