atcoder#RELAYI. 目があったら負け

目があったら負け

题目描述

1 1 から N N までの整数が振られた N N 人の人がいます。これから N1 N-1 秒間、「目があったら負けチャレンジ」をしてもらいます。

それぞれの人は、チャレンジが開始してから N1 N-1 秒間で、自分以外の N1 N-1 人を 1 1 人あたりちょうど 1 1 秒ずつ、なんらかの順番で見つめます。

このとき互いに見つめ合っている 2 2 人ができたら、チャレンジは失敗です。

チャレンジが成功するためには各人がどのような順番で他の N1 N-1 人を見つめればよいかを求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N

输出格式

もし、チャレンジが成功するような見つめ方がない場合は、 1 -1 を出力せよ。

チャレンジが成功するような見つめ方がある場合には、そのうち好きなもの 1 1 つを、以下の形式で出力せよ。

A1,1 A_{1,1} A1,2 A_{1,2} ... ... A1, N1 A_{1,\ N-1} A2,1 A_{2,1} A2,2 A_{2,2} ... ... A2, N1 A_{2,\ N-1} : : AN,1 A_{N,1} AN,2 A_{N,2} ... ... AN, N1 A_{N,\ N-1}

ここで Ai, j A_{i,\ j} i i 番目の人が j j 番目に見つめる人の番号である。

题目大意

题目描述

nn 个人要在 (n1)(n-1) 秒内完成以下任务:每秒看一个不同的人,且不能有两人同时看对方。这 nn 个人被编号为 11nn。如果他们可以完成任务,请输出一种完成任务的方案;否则,输出 1-1

输入格式

一行一个整数 nn。(2n1002\le n\le 100

输出格式

若无法完成任务,输出一行一个整数 1-1;否则,输出一个 nn(n1)(n-1) 列的方阵。上起第 ii 行左起第 jj 个数为 ii 在第 jj 秒看的人。

方阵中的每个数都必须是值在 [1,n][1,n] 之间的整数,且第 ii 行不会出现 ii 并且所有数各不相同。令 x=ai,jx=a_{i,j},则任意一个 xx 均满足 ax,jia_{x,j} \neq i

7
2 3 4 5 6 7
5 3 1 6 4 7
2 7 4 1 5 6
2 1 7 5 3 6
1 4 3 7 6 2
2 5 7 3 4 1
2 6 1 4 5 3
2
-1

提示

制約

  • 2  N  100 2\ \leq\ N\ \leq\ 100

判定

以下の全ての条件を満たしているときのみ、その出力は正解とみなされる。

  • 1  Ai,j  N 1\ \leq\ A_{i,j}\ \leq\ N
  • 全ての i i について Ai,1, Ai,2, ... , Ai, N1 A_{i,1},\ A_{i,2},\ ...\ ,\ A_{i,\ N-1} は値が異なる。
  • X = Ai, j X\ =\ A_{i,\ j} として AX, j  i A_{X,\ j}\ \neq\ i が常に成り立つ。