atcoder#DIVERTA20192F. Diverta City

Diverta City

题目描述

Diverta City は N N 個の街からなる新しい都市であり、街には番号が 1, 2, ..., N 1,\ 2,\ ...,\ N と付けられています。

市長のりんごさんは、すべての 2 2 つの街の組を 1 1 つの双方向の道路で結ぶ計画です。それぞれの道路の長さはまだ決まっていません。

ある街から出発して、他のすべての街を一度ずつ訪れる経路を「ハミルトン経路」と呼びます。ここで、あるハミルトン経路を逆にたどった経路は、元のハミルトン経路と同じものとして扱います。

ハミルトン経路は N! / 2 N!\ /\ 2 種類あり、そのすべての全長 (経路上の道路の長さの合計) が異なるようにして、多様性のある都市をつくりたいです。

そのような道路の長さの組み合わせを 1 1 つ見つけてください。ただし、次の条件を満たさなければならないです。

  • 道路の長さはすべて 正の整数
  • 道路が長すぎても建設コストが大きくなるので、それぞれのハミルトン経路の全長を 1011 10^{11} 以下にする

输入格式

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

N N

输出格式

目的を達成する道路の長さの組み合わせの一つを以下の形式で出力せよ。

w1, 1 w1, 2 w1, 3 ... w1, N w_{1,\ 1}\ w_{1,\ 2}\ w_{1,\ 3}\ ...\ w_{1,\ N} w2, 1 w2, 2 w2, 3 ... w2, N w_{2,\ 1}\ w_{2,\ 2}\ w_{2,\ 3}\ ...\ w_{2,\ N} : : : wN, 1 wN, 2 wN, 3 ... wN, N w_{N,\ 1}\ w_{N,\ 2}\ w_{N,\ 3}\ ...\ w_{N,\ N}

ここで、wi, j w_{i,\ j} は街 i i と街 j j を結ぶ道路であり、次の条件を満たす必要がある。

  • wi, i = 0 w_{i,\ i}\ =\ 0
  • wi, j = wj, i (i  j) w_{i,\ j}\ =\ w_{j,\ i}\ (i\ \neq\ j)
  • 1  wi, j  1011 (i  j) 1\ \leq\ w_{i,\ j}\ \leq\ 10^{11}\ (i\ \neq\ j)

目的を達成する道路の長さの組み合わせが複数存在する場合は、そのうちのどれを出力しても正解となる。

题目大意

构造一张 nn 个点的无向完全图,使得所有的 n!2\frac{n!}{2} 条哈密顿路径的边权和互不相同。要求所有边权都是正数,且任意哈密顿路径的边权和不超过 101110^{11}

2n102 \leq n \leq 10

3
0 6 15
6 0 21
15 21 0
4
0 111 157 193
111 0 224 239
157 224 0 258
193 239 258 0

提示

制約

  • N N 2 2 以上 10 10 以下の整数

Sample Explanation 1

ハミルトン経路は 3 3 種類あります。それぞれの歩行距離は以下のようになります。 - 1  2  3 1\ →\ 2\ →\ 3 : 歩行距離は 6 + 21 = 27 6\ +\ 21\ =\ 27 - 1  3  2 1\ →\ 3\ →\ 2 : 歩行距離は 15 + 21 = 36 15\ +\ 21\ =\ 36 - 2  1  3 2\ →\ 1\ →\ 3 : 歩行距離は 6 + 15 = 21 6\ +\ 15\ =\ 21 この 3 3 つの歩行距離はすべて異なるので、条件を満たします。

Sample Explanation 2

ハミルトン経路は 12 12 通りあり、歩行距離はすべて異なります。