HDU2050折線分割平面(規律)
阿新 • • 發佈:2019-02-01
我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。
Input
輸入資料的第一行是一個整數C,表示測試例項的個數,然後是C 行資料,每行包含一個整數n(0<.n<=10000),表示折線的數量。
Output
對於每個測試例項,請輸出平面的最大分割數,每個例項的輸出佔一行。
Sample Input
2
1
2
Sample Output
2
7
解題思路:
把畫折線當作畫直線處理即:每畫一條折線,就當作畫兩條直線處理,最後由於兩條直線相交時延長線就不再畫出。所以在兩條直線的基礎上,減去2(折線情況比直線情況少2個部分,見圖)
AC程式碼:
#include<stdio.h>
int part(int n)
{
if(n==1) return 2;
if(n==2) return 7;
int sum=2,i;
for(i=2;i<=n;i++)
sum+=4*i-3;
return sum;
}
int main()
{
int t,i,j;
scanf("%d",&t);
while(t--)
{
scanf("%d",&i);
j=part(i);
printf ("%d\n",j);
}
return 0;
}