折線分隔平面

問(wèn)題來(lái)源:Problem - 2050

Problem Description

我們看到過(guò)很多直線分割平面的題目,今天的這個(gè)題目稍微有些變化,我們要求的是n條折線分割平面的最大數(shù)目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。


Input

輸入數(shù)據(jù)的第一行是一個(gè)整數(shù)C,表示測(cè)試實(shí)例的個(gè)數(shù),然后是C 行數(shù)據(jù),每行包含一個(gè)整數(shù)n(0

Output

對(duì)于每個(gè)測(cè)試實(shí)例,請(qǐng)輸出平面的最大分割數(shù),每個(gè)實(shí)例的輸出占一行。

Sample Input

2

1

2

Sample Output

2

7

思路分析:

????折線的情況看起來(lái)比較復(fù)雜,我們先從直線分隔平面來(lái)入手。

? ? 假設(shè)有n條線時(shí),分隔的平面數(shù)量為F(n)

? ? 假設(shè)原本只有一條直線,把平面分成了兩個(gè)部分。

? ? 當(dāng)加入第二條直線時(shí),與原來(lái)的一條直線最多有1個(gè)交點(diǎn),平面多出了2個(gè)部分;

? ? 當(dāng)加入第三條直線時(shí),與原來(lái)的兩條直線最多有2個(gè)交點(diǎn),平面多出了3個(gè)部分;

? ? 當(dāng)加入第四條直線時(shí),與原來(lái)的三條直線最多有3個(gè)交點(diǎn),平面多出了4個(gè)部分;

????……

? ? 綜上,當(dāng)加入第n條直線時(shí),與原來(lái)的(n-1)直線最多有(n-1)個(gè)交點(diǎn),平面就多出了(n-1)+1【交點(diǎn)數(shù)+1】個(gè)部分,分隔的平面數(shù)量為F(n)=F(n-1)+(n-1)+1

? ? 同理,用于折線分隔平面的情況。

? ? 兩個(gè)折線之間最多有4個(gè)交點(diǎn),因此在加入第n條折線時(shí),與原來(lái)的(n-1)條折線最多有4*(n-1)個(gè)交點(diǎn),平面就會(huì)多出4*(n-1)+1個(gè)部分。

? ?故,推導(dǎo)出,分隔的平面數(shù)量F(n)的遞歸公式為:F(N)=F(N-1)+4*(n-1)+1

代碼如下:

import java.util.Scanner;

public class Test_2050 {

public static void main (String args[]) {

Scanner in = new Scanner(System.in);

int n = in.nextInt();

long a[] = new long[10001];

a[1] = 2;

a[2] = 7;

while(n -- != 0) {

int c = in.nextInt();

for(int i=3;i<=c;i++) {

a[i] = a[i-1] + 4 * (i - 1) +1;

}

System.out.println(a[c]);

}

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容