平面分割
描述 Description
【問題描述】
同一平面內有n(n≤500)條直線,已知其中p(p≥2)條直線相交於同一點,則這n條直線最多能將平面分割成多少個不同的區域?
【輸入格式】
兩個整數n(n≤500)和p(2≤p≤n)。
【輸出格式】
一個正整數,代表最多分割成的區域數目。
【輸入樣例】Surface.in
12 5
【輸出樣例】Surface.out
73
時間限制 Time Limitation
各個測試點1s
如圖,首先考慮n-1=p(n,p>=2)的情況。此時分割的空間數爲2(n-1)。
再加上一條直線。
此時直線每過一條直線,就能多分割出一塊空間,共可分割出n塊。
所以得到遞推式:f(p)=2*p;
f(n)=f(n-1)+n;
#include<iostream>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
int total=2*m;
for (int i=m+1;i<=n;i++)
total+=i;
cout<<total;
}