AT_icpc2013spring_f Point Distance

题目描述

给定一张 $N \times N$ 的网格图。一些点会落在网格图上,记 $C_{xy}$ 为坐标是 $(x, y)$ 的点的数量 ($0 \le C_{xy} \le 9$)。现要求对于所有 成对的点之间的欧几里得距离,统计: - 全部距离依次平方后,排序并去重后的结果 $d_1, d_2, \ldots, d_m$; - 上述序列去重前 $d_i$ 重复出现的次数 $c_i$; - 所有距离的平均距离 $D_{ave}$。

输入格式

第一行输入一个整数 $N$,表示网格图的大小。 接下来 $N$ 行,每行输入 $N$ 个数字,表示 $C$ 矩阵。

输出格式

第一行,输出 $D_{ave}$。 对于接下来 $m$ 行,第 $i + 1$ 行输出两个数字 $d_i, c_i$。特别地,如果 $m > 10000$,那么输出前 $10000$ 行数字即可。要求输出与标准答案误差必须小于 $10^{-8}$。

说明/提示

- $1 \le N \le 1024$,$0 \le C_{xy} \le 9$。 - 保证网格图上至少有 $2$ 个点。 - 所有输入均为整数。