测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A9156. Tournament-graph

编程题 普及/提高-

题目描述

In this problem you have to build tournament graph, consisting of $n$ vertices, such, that for any oriented pair of vertices $(v,u)$ $(v≠u)$ there exists a path from vertex $v$ to vertex $u$ consisting of no more then two edges.

A directed graph without self-loops is a tournament, if there is exactly one edge between any two distinct vertices (in one out of two possible directions).

输入格式

The first line contains an integer $n$ $(3<=n<=1000)$ , the number of the graph's vertices.

输出格式

Print -1 if there is no graph, satisfying the described conditions.

Otherwise, print $n$ lines with $n$ integers in each. The numbers should be separated with spaces. That is adjacency matrix $a$ of the found tournament. Consider the graph vertices to be numbered with integers from $1$ to $n$ . Then $a_{v,u}=0$ , if there is no edge from $v$ to $u$ , and $a_{v,u}=1$ if there is one.

As the output graph has to be a tournament, following equalities must be satisfied:

- $a_{v,u}+a_{u,v}=1$ for each $v,u$ $(1<=v,u<=n; v≠u)$ ;
- $a_{v,v}=0$ for each $v$ $(1<=v<=n)$ .

输入输出样例

输入 #1
3
输出 #1
0 1 0
0 0 1
1 0 0
输入 #2
4
输出 #2
-1
上一题 去做题 下一题