多少块土地
来源:互联网 发布:2016网络搞笑歌曲 编辑:程序博客网 时间:2024/04/29 16:28
多少块土地
你有一块椭圆的地。你可以在边界上选n个点,并两两连接得到n*(n-1)/2条线段。它们最多能把土地分成多少个部分?
样例输入:4
样例输出:8
代码如下:
#include<stdio.h>int main(){ int V,E,F,a,b,n; a=b=0; scanf("%d",&n); for(int i=0;i<=n-2;i++) { a+=i*(n-2-i); b=a+1; } V=n+n*a/4; E=n+n*b/2; F=E-V+1; //欧拉公式V-E+F=2,得到F=E-V+2,还要减去椭圆外那个无穷大的面 printf("%d\n",F); return 0;}
注:考平面的欧拉公式V-E+F=2. V是所有线段的端点和交点,E是线段被切成的段数加上椭圆的弧,F是土地的块数和椭圆外的无限大平面。
最多的分割法,是没有多余两条线段交于同一点。枚举从每个点出发的一条固定的线段,线段左边对应i个点,右边对应(n-2-i)个点,这些点交线段i*(n-2-i)个交点,分线段i*(n-2-i)+1条小线段。且可以发现每个交点被重复计算4次,每条线段被重复计算2次,加上之前的n的点和n条线段,得到V、E,从而推算出F.
1 0
- 多少块土地
- 多少块土地
- 多少块土地
- 多少块土地——欧拉定理
- 算法竞赛入门经典 5.4.4多少块土地
- 多少块土地——欧拉定理
- 平面的图欧拉公式(多少块土地,uva 10213)
- 多少块土地(刘汝佳的小白5.4.4)详解
- 算法竞赛入门经典:第五章 基础题目选解 5.12多少块土地
- 【py交易】算法竞赛入门经典5.4.4 多少块土地 python
- 我眷恋这块土地
- 土地问题(求出土地被分成多少面,有知识点)
- 微型计算机对软件开发行业来说是块贫瘠的土地
- 脚下的那块生我养我的土地依然如此亲
- 一个西瓜 4刀最多多少块
- 土地积水
- 土地测量
- 土地积水
- 深入理解C++的const变量
- Silverlight 解决 更新数据后 datagrid同步问题
- 哈尔滨苹果手机iphone不开机维修
- Python文件操作
- Linux下如何拷贝整个目录下的所有文件
- 多少块土地
- 并查集 基础 AC
- 电子纸在pcDuino上的使用
- java 多态性
- 51 Android fragment actionbar 中 Menu 界面管理
- androidpn-client 无限ReconnectionThread 的bug
- C++ const用法总结
- Java编程思想读书笔记——1-3章
- 简单Json 封装类