codevs等差數列

2021-07-28 13:04:24 字數 1360 閱讀 6652

題目描述 description

給定n(1<=n<=100)個數,從中找出盡可能多的數使得他們能夠組成乙個等差數列.求最長的等差數列的長度.

輸入描述 input description

第一行是乙個整數n,接下來一行包括了n個數,每個數的絕對值不超過10000000.

輸出描述 output description

對於每個輸入資料,輸出你所找出的最長等差數列的長度

樣例輸入 sample input 7

3845

622

樣例輸出 sample output 5

資料範圍及提示 data size & hint

分析:

其實這道題目的資料挺low的,直接暴力就可以過啦。。

**:var

nl,i:longint;

a:array[0..101] of longint;

function check(n:longint):boolean;

var lapapa:0..1;

i:longint;

procedure ldfs(dep,last,now,cha:longint);

var i:longint;

begin

if dep=n

then begin lapapa:=1; exit; exit; end;

if dep=0

then begin for i:=1 to nl-n+1 do ldfs(dep+1,i,a[i],cha); end;

for i:=last+1 to n do

if a[i]-now=cha

then ldfs(dep+1,i,a[i],cha)

else exit;

end;

begin

lapapa:=0;

for i:=1 to n-1 do

ldfs(0,0,0,a[i]-a[i-1]);

if lapapa=1

then exit(true);

exit(false);

end;

procedure sort(l,r: longint);

vari,j,x,y: longint;

begin

i:=l;

j:=r;

x:=a[(l+r) div 2];

repeat

while a[i]j) then

begin

y:=a[i];

a[i]:=a[j];

a[j]:=y;

inc(i);

j:=j-1;

end;

until i>j;

if l

codevs 等差數列

時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解給定n 1 n 100 個數,從中找出盡可能多的數使得他們能夠組成乙個等差數列.求最長的等差數列的長度.輸入描述 input description 第一行是乙個整數n,接下來一行包括了n個數,每個數的絕對值不超過1000000...

CODE VS 1006 等差數列

題目 題解 1006 等差數列 include define debug define maxsize 100 int n 資料大小 intarray maxsize 所有數值 int maxcount 最大計數 int darray maxsize 差值陣列 交換陣列位置 void swap in...

codevs 1006 等差數列

題目描述 給定n 1 n 100 個數,從中找出盡可能多的數使得他們能夠組成乙個等差數列.求最長的等差數列的長度.輸入描述 第一行是乙個整數n,接下來一行包括了n個數,每個數的絕對值不超過10000000.輸出描述 對於每個輸入資料,輸出你所找出的最長等差數列的長度 樣例輸入73 8456 22樣例...