題目描述
給定n(1<=n<=100)個數,從中找出盡可能多的數使得他們能夠組成乙個等差數列.求最長的等差數列的長度.
輸入描述
第一行是乙個整數n,接下來一行包括了n個數,每個數的絕對值不超過10000000.
輸出描述
對於每個輸入資料,輸出你所找出的最長等差數列的長度
樣例輸入73
8456
22樣例輸出5分析
用乙個二維陣列dp[i][j]儲存第i個數差值為j的序列長度
#include#includeusing namespace std;
#define n 100 + 10
#define m 1000000
int n;
int a[n],dp[n][m];//dp[i][j]中i表示第i個數,j表示差值
int main()
int ans = 0;
for(int i = 1; i <= n; i++)
for(int j = 0; j < m; j++)
ans = max(ans,dp[i][j]);
cout << ans + 1 << endl;//加上第乙個數
return 0;
}
CODE VS 1006 等差數列
題目 題解 1006 等差數列 include define debug define maxsize 100 int n 資料大小 intarray maxsize 所有數值 int maxcount 最大計數 int darray maxsize 差值陣列 交換陣列位置 void swap in...
codevs 1006 等差數列
時間限制 1 s 空間限制 128000 kb 題目等級 gold description 給定n 1 n 100 個數,從中找出盡可能多的數使得他們能夠組成乙個等差數列.求最長的等差數列的長度.輸入描述 input description 第一行是乙個整數n,接下來一行包括了n個數,每個數的絕對值...
codevs 1006 等差數列
題目描述 description 給定n 1 n 100 個數,從中找出盡可能多的數使得他們能夠組成乙個等差數列.求最長的等差數列的長度.輸入描述 input description 第一行是乙個整數n,接下來一行包括了n個數,每個數的絕對值不超過10000000.輸出描述 output descr...