usaco1.4.3——ariprog
Arithmetic Progressions 等差数列
描述
一个等差数列是一个能表示成a, a+b, a+2b,..., a+nb (n=0,1,2,3,...)的数列。
在这个问题中a是一个非负的整数,b是正整数。写一个程序来找出在双平方数集合S中长度为n的等差数列。双平方数集合是所有能表示成p^2+q^2的数的集合。
格式
TIME LIMIT: 5 秒
PROGRAM NAME: ariprog
INPUT FORMAT:
(file ariprog.in)
第一行: N(3<= N<=25),要找的等差数列的长度。
第二行: M(1<= M<=250),搜索双平方数的上界0 <= p,q <= M。
OUTPUT FORMAT:
(file ariprog.out)
如果没有找到数列,输出`NONE'。
如果找到了,输出一行或多行, 每行由二个整数组成:a,b。
这些行应该先按b排序再按a排序。
所求的等差数列将不会多于10,000个。
SAMPLE INPUT
5
7
SAMPLE OUTPUT
1 4
37 4
2 8
29 8
1 12
5 12
13 12
17 12
5 20
2 24
时限相当宽泛啊。。。
看我的评测结果(基本暴力。。。。)
Compiling...
Compile: OK
Executing...
Test 1: TEST OK [0.000 secs, 664 KB]
Test 2: TEST OK [0.000 secs, 664 KB]
Test 3: TEST OK [0.000 secs, 664 KB]
Test 4: TEST OK [0.000 secs, 664 KB]
Test 5: TEST OK [0.027 secs, 664 KB]
Test 6: TEST OK [0.189 secs, 664 KB]
Test 7: TEST OK [2.025 secs, 664 KB]
Test 8: TEST OK [4.590 secs, 664 KB]
Test 9: TEST OK [4.212 secs, 664 KB]
All tests OK.
Your program ('ariprog') produced all correct answers! This is your submission #2 for this problem. Congratulations!
第八个点相当的惊险。。。
可能有人看到了我那个是第二次提交才过的。。。。
错误出在我没审清题,忽略了无解的情况,结果第三个点悲剧了。。。
具体点的我做这题的思路:
先是枚举p,q,把所有可能的双平方数标记,
再分别枚举a和b,然后用上面的标记判断即可,
不符合立即跳出。
就这样。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | { ID: codeway3 PROG: ariprog LANG: PASCAL } program ariprog; var i,j,n,m,max,k,l,b: longint ; a: array [ 0..200000 ] of integer ; begin assign(input, 'ariprog.in' ); reset(input); assign(output, 'ariprog.out' ); rewrite(output); readln(n); n:=n- 1 ; b:= 0 ; readln(m); for i:= 0 to m do for j:= 0 to m do begin a[i*i+j*j]:= 1 ; if i*i+j*j>max then max:=i*i+j*j; end ; for i:= 1 to max do for j:= 0 to max-n*i do begin if (a[j]= 1 ) and (a[j+n*i]= 1 ) then begin l:= 0 ; for k:= 1 to n- 1 do if a[j+k*i]= 0 then begin l:= 1 ; break; end ; if l= 0 then begin b:= 1 ; writeln (j, ' ' ,i); end ; end ; end ; if b= 0 then writeln ( 'NONE' ); close(input); close(output); end . |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?