#USACO1015. 1.4.3 等差数列 Arithmetic Progressions

1.4.3 等差数列 Arithmetic Progressions

题目描述

一个等差数列是一个能表示成 a,a+b,a+2b,,a+nb (nN)a, a+b, a+2b, \dots ,a+nb\space (n \in \mathbb N) 的数列。

在这个问题中 aa 是一个非负的整数,bb 是正整数。
写一个程序来找出在双平方数集合:

$$\{ x | x = p^2 + q^2 \wedge p,q \in \mathbb N \cap [0,m]\} $$

中长度为 nn 的等差数列。

输入格式

第一行一个正整数 nn,表示要找的数列长度。
第二行一个非负整数 mm,表示 p,qp,q 的上界。

输出格式

如果没有找到数列,输出 NONE

如果找到了,输出一行或多行,每行由二个整数组成:a,ba,b

这些行应该以 bb 为第一关键字,aa 为第二关键字升序排序。

所求的等差数列将不会多于10,000个。

样例 #1

样例输入 #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%100\% 的数据,3n253 \le n \le 250m2500 \le m \le 250

题目翻译来自NOCOW。

USACO Training Section 1.4