对于固定的起点 i,题目要求计算每个 j 对应的
ai,j=#k=i,j∣dist(i,k)≤dist(i,j)把它换一种等价的理解会更直接:
在二维直角坐标系中有 n 个点(按输入顺序编号为 1∼n),每个点的横、纵坐标均为整数。
请你构造一个大小为 n×n 的数组 {ai,j}。对任意两个不同的编号i,j,将线段 ij 围绕点 i 旋转一周,线段的另一端点在以 i 为圆心、半径为 ∣ij∣ 的圆盘上运动。定义ai,j 为线段 ij 在旋转过程中扫过的区域(即以i 为圆心、半径为 ∣ij∣ 的圆盘)内包含的、除 i,j 之外其他编号不同的点的数量;特别地,对所有1≤i≤n都有 ai,i=0。
更形式化地,令点i的坐标为 (xi,yi),则:
ai,j=#{k∈{1,…,n}∖{i,j}∣dist(i,k)≤dist(i,j)}.每个测试文件包含多组测试数据:第一行输入一个整数T(1≤T≤102),代表数据组数。每组测试数据描述如下:
除此之外,保证单个测试文件的 n 之和不超过 2×103。
对于每一组测试数据,输出n 行:
输入
2
3
1 1
2 1
1 2
4
1 1
2 1
3 1
4 1
输出
0 1 1
0 0 1
0 1 0
0 0 1 2
1 0 1 2
2 1 0 1
2 1 0 0
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册