atcoder#DIVERTA20192F. Diverta City

Diverta City

配点: 900900

問題文

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

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

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

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

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

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

制約

  • NN22 以上 1010 以下の整数

入力

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

NN

出力

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

w1,1 w1,2 w1,3 ... w1,Nw_{1, 1} \ w_{1, 2} \ w_{1, 3} \ ... \ w_{1, N}

w2,1 w2,2 w2,3 ... w2,Nw_{2, 1} \ w_{2, 2} \ w_{2, 3} \ ... \ w_{2, N}

: : :

wN,1 wN,2 wN,3 ... wN,Nw_{N, 1} \ w_{N, 2} \ w_{N, 3} \ ... \ w_{N, N}

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

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

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

3
0 6 15
6 0 21
15 21 0

ハミルトン経路は 33 種類あります。それぞれの歩行距離は以下のようになります。

  • 1231 \to 2 \to 3: 歩行距離は 6+21=276 + 21 = 27
  • 1321 \to 3 \to 2: 歩行距離は 15+21=3615 + 21 = 36
  • 2132 \to 1 \to 3: 歩行距離は 6+15=216 + 15 = 21

この 33 つの歩行距離はすべて異なるので、条件を満たします。

4
0 111 157 193
111 0 224 239
157 224 0 258
193 239 258 0

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