#USACO1153. 等差数列

等差数列

题目描述

等差数列是一个形如 a,a+b,a+2b,....a+nba,a+b,a+2b,....a+nb 的数列,其中 n=0,1,2,3n=0,1,2,3…

在本问题中,aa 是非负整数,bb 是正整数。

请你编写一个程序,在双平方数集合 SS 中,找到所有的长度为 nn 的等差数列。

双平方数集合定义为可以被拆分为 p2+q2p^2+q^2 的所有整数的集合(其中 ppqq 为非负整数)。

输入格式

第一行包含整数 nn,表示等差数列的长度。

第二行包含整数 mm,表示 ppqq 的上界。

输出格式

如果找不到符合条件的等差数列,则输出一行 “NONE”。

否则,输出若干行,每行包含两个整数 a,ba,b,分别表示一个符合条件的等差数列的首项和公差。

这些行的输出,应该按 bb 值从小到大排序,bb 值相同的按 aa 值从小到大排序,按次序输出。

数据保证满足条件的等差数列不会超过 10000 个。

5
7
1 4
37 4
2 8
29 8
1 12
5 12
13 12
17 12
5 20
2 24

数据范围

3n25,3≤n≤25,

1m250,1≤m≤250,

0p,qm0≤p,q≤m