[USACO1.4] 等差数列 Arithmetic Progressions
题目描述
一个等差数列是一个能表示成 $a, a+b, a+2b, \dots ,a+nb\space (n \in \mathbb N)$ 的数列。
在这个问题中 $a$ 是一个非负的整数,$b$ 是正整数。
写一个程序来找出在双平方数集合:
$$\{ x | x = p^2 + q^2 \wedge p,q \in \mathbb N \cap [0,m]\}$$
中长度为 $n$ 的等差数列。
输入输出格式
输入格式
第一行一个正整数 $n$,表示要找的数列长度。
第二行一个非负整数 $m$,表示 $p,q$ 的上界。
输出格式
如果没有找到数列,输出 `NONE`。
如果找到了,输出一行或多行,每行由二个整数组成:$a,b$。
这些行应该以 $b$ 为第一关键字,$a$ 为第二关键字升序排序。
所求的等差数列将不会多于10,000个。
输入输出样例
输入样例 #1
5
7
输出样例 #1
1 4
37 4
2 8
29 8
1 12
5 12
13 12
17 12
5 20
2 24
说明
【数据范围】
对于 $100\%$ 的数据,$3 \le n \le 25$,$0 \le m \le 250$。
题目翻译来自NOCOW。
USACO Training Section 1.4