hdu_problem_2050_折線分割平面

題目鏈接
由題目可以觀察得到多一個折線,會將其中一個折線的內部分爲3部分(多了兩個),將外部分成2個部分,再加上夾角所形成的一個部分,所以每一個折線單獨看會多出5個部分,但是夾角形成的部分是共用的,所以要減去多餘的那一部分,所以是f(n)=f(n1)+5(n1)(n2)f(n) = f(n-1)+5*(n-1) - (n-2)

/*
*
*Problem Description
*我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。
*
*
*
*Input
*輸入數據的第一行是一個整數C,表示測試實例的個數,然後是C 行數據,每行包含一個整數n(0<n<=10000),表示折線的數量。
*
*
*
*Output
*對於每個測試實例,請輸出平面的最大分割數,每個實例的輸出佔一行。
*
*
*
*Sample Input
*2
*1
*2
*
*
*Sample Output
*2
*7
*
*
*Author
*lcy
*
*
*Source
*遞推求解專題練習(For Beginner)
*
*
*Recommend
*lcy
*
*/
#include<iostream>
using namespace std;
long long a[10001] = { 1,2,7 }; 
void func() {
 for (int i = 3; i < 10001; i++) {
  a[i] = a[i - 1] + 5 * (i - 1) - (i - 2);
 }
}
int main() {
 int C, n;
 cin >> C;
 func();
 for (int i = 0; i < C; i++) {
  cin >> n;
  cout << a[n] << endl;
 }
 system("pause");
 return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章