【图论】MT1069 圆切平面

发布时间 2023-04-20 22:55:37作者: infocodez

MT1069 圆切平面

题目描述:n个圆最多把平面分成几部分?输入圆的数量N,问最多把平面分成几块。比如一个圆以把一个平面切割成2块。 不考虑负数,0或者其他特殊情况。

思路:

任意两个圆相交最多有2个交点,n个圆就有2*C(n,2)=n(n-1)个交点。

每个圆上有2(n-1)个交点,因此圆被分割成了2(n-1)段,n个圆就有2n(n-1)段。

由欧拉公式,V+F-E=2,(要包含最外的平面)

画n个圆,最多能把一个平面分成多少部分?

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main(){
	ll n,ans = 0;
	scanf("%I64d",&n);
	ans = n * (n - 1) + 2;
	printf("%-I64d",ans);
    return 0;
}