Problem Description
我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。
Input
輸入數據的第一行是一個整數C,表示測試實例的個數,然后是C 行數據,每行包含一個整數n(0<n<=10000),表示折線的數量。
Output
對於每個測試實例,請輸出平面的最大分割數,每個實例的輸出占一行
Sample Input
2
1
2
Sample Output
2
7
思路:列舉找規律
第1條折線,穿過0條線,多了1個區間;
第2條折線,穿過2條線,多了5個區間;
第3條折線,穿過4條線,多了9個區間;
多的區間: 2*pow(2,n-1)+1 vs 2*2*(n-1)+1
第4條折線,穿過6條線,多了13個區間;
多的區間: 2*2*(n-1)+1
AC代碼:
#include<stdio.h> #include<math.h> #define ll long long int main() { ll a[10005]={0,2,7}; for(int i=3;i<10005;i++) a[i]=a[i-1]+2*2*(i-1)+1; int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); printf("%lld\n",a[n]); } return 0; }
