#P13791. [diverta2019_2] Diverta City

[diverta2019_2] Diverta City

题目描述

Diverta City 是由 NN 个城市组成的新城市,每个城市编号为 1,2,,N1, 2, \ldots, N

市长りんご计划用一条双向道路连接所有两两城市。每条道路的长度尚未确定。

从某个城市出发,依次访问其他所有城市且每个城市只访问一次的路径称为“哈密顿路径”。这里,将某条哈密顿路径反向行走视为与原路径相同。

哈密顿路径共有 N!/2N! / 2 种。市长希望让所有哈密顿路径的总长度(路径上所有道路长度之和)都互不相同,以打造一个多样化的城市。

请找出一种满足以下条件的道路长度分配方案:

  • 所有道路长度均为正整数
  • 由于道路过长会导致建设成本过高,每条哈密顿路径的总长度不得超过 101110^{11}

输入格式

输入从标准输入读取,格式如下:

NN

输出格式

请输出一种满足要求的道路长度分配方案,格式如下:

w1,1 w1,2 w1,3  w1,Nw_{1,1}\ w_{1,2}\ w_{1,3}\ \ldots\ w_{1,N}
w2,1 w2,2 w2,3  w2,Nw_{2,1}\ w_{2,2}\ w_{2,3}\ \ldots\ w_{2,N}
\vdots
wN,1 wN,2 wN,3  wN,Nw_{N,1}\ w_{N,2}\ w_{N,3}\ \ldots\ w_{N,N}

其中,wi,jw_{i,j} 表示连接城市 ii 和城市 jj 的道路长度,需满足以下条件:

  • wi,i=0w_{i,i} = 0
  • wi,j=wj,iw_{i,j} = w_{j,i}(当 iji \neq j 时)
  • 1wi,j10111 \leq w_{i,j} \leq 10^{11}(当 iji \neq j 时)

如果存在多种满足条件的道路长度分配方案,输出其中任意一种即可。

输入输出样例 #1

输入 #1

3

输出 #1

0 6 15
6 0 21
15 21 0

输入输出样例 #2

输入 #2

4

输出 #2

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

说明/提示

限制

  • NN221010 之间的整数。

样例解释 1

哈密顿路径共有 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

这三种路径的总长度均不相同,满足条件。

样例解释 2

哈密顿路径共有 1212 种,且每种路径的总长度都不同。

由 ChatGPT 4.1 翻译