hdu2050-折線分割平面-(思維)


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;
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM