CCF GESP 2026年6月认证 C++ 8级
题目描述
A 市有 $n$ 座基站需要通过线网互相连接。第 $i$ 座基站位于二维平面上坐标 $(x_{i},y_{i})$ 处。
第 $i$ 座基站与第 $j$ 座基站之间的距离定义为 $\sqrt{(x_{i}−x_{j})^{2}+(y_{i}−y_{j})^{2}}$。
如果两座基站之间的距离不超过给定的整数 $l$,那么可以修建连接这两座基站的线路,线路长度为基站间的距离。
如果从一座基站出发,经过一系列线网中的线路可以到达另一座基站,则称这两座基站是互相连接的。
请问使得 $n$ 座基站两两之间都互相连接,需要修建的线路总长度最小是多少?如果不能修建满足条件的线网,则输出 Impossible。
输入格式
第一行,两个正整数 $n,l$,分别表示基站数量与线路长度上限。
接下来 $n$ 行,每行两个整数 $x_{i},y_{i}$,表示基站的坐标。
输出格式
输出一行。如果能修建满足条件的线网,则输出需要修建的最小线路总长度,保留两位小数。否则输出 Impossible。
样例说明
样例 1
4 2
1 0
-1 -1
0 0
1 1
3.41
样例 2
4 1
1 0
-1 -1
0 0
1 1
Impossible
数据范围
对于 40% 的测试点,保证 $1≤n≤100$。
对于所有测试点,保证 $1≤n≤500$,$1≤l≤100$,$−100≤x_{i},y_{i}≤100$。
题目描述
有 $m$ 堆石子,编号为 $1,2,⋯,m$,其石子数量分别记为 $a_{1},a_{2},⋯,a_{m}$。
现在要求第 1 堆石子恰有 $n$ 个(即 $a_{1}=n$),并且此后每堆石子的数量严格小于前一堆,即 $a_{i}<a_{i−1} (2≤i≤m)$。此外,每堆至少需要有一个石子,即 $a_{i}≥1 (1≤i≤m)$。
在总石子数量不设限制的情况下,给定 $m≥2,n≥1$,有多少个满足要求的石子堆放方案?
两个方案不同,当且仅当,两个方案中至少有一堆石子数量不同。
如果不存在满足要求的方案,输出 0。由于方案数可能很大,请输出方案数对 $10^{9}+7$ 取模后的结果。
输入格式
输入一行两个正整数 $m$ 和 $n$。
输出格式
输出一个整数,表示总方案数对 $10^{9}+7$ 取模后的结果。
样例说明
样例 1
3 5
6
有(5,4,3),(5,4,2),(5,4,1),(5,3,2),(5,3,1)和(5,2,1)共计6种方案。
数据范围