ACM第三次练习—1014
来源:互联网 发布:2016年4月非农数据 编辑:程序博客网 时间:2024/05/16 08:44
题意:我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。
思路:
先看N条相交的直线最多能把平面分割成多少块当添加第N条只显示,为了使平面最多,
再看每次增加两条相互平行的直线当第N次添加时,前面已经有2N-2条直线了,所以第N次添加时,第2N-1条直线和第2N条直线都各能增加2*(n-1)+1
如果把每次加进来的平行边让它们一头相交则平面1、3已经合为一个面,因此,每一组平行线相交后,就会较少一个面所以所求就是平行线分割平面数减去N,为2n2
感想:推导过程有些复杂,但是代码很简单~
代码:
#include<stdio.h>
int
{
__int64
scanf("%d",&T);
while(T--)
{
s[0]=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
s[i]=s[i-1]+4*(i-1)+1;
printf("%I64d\n",s[i-1]);
}
return
}
- ACM第三次练习—1014
- ACM第三次练习—1001
- ACM第三次练习—1002
- ACM第三次练习—1003
- ACM第三次练习—1004
- ACM第三次练习—1005
- ACM第三次练习—1006
- ACM第三次练习—1010
- ACM第三次练习—1011
- ACM第三次练习—1015
- ACM第三次练习—1012
- ACM第三次练习—1013
- ACM第三次练习—1016
- ACM第三次练习—1017
- ACM第三次练习—1007
- ACM第三次练习—1010
- 第三次练习
- ACM第二次练习—1013&1014
- Java入门第二季-练习:租车系统
- 07_XML 属性
- 第一篇博客
- python ConfigParser操作配置文件
- 08_XML 验证
- ACM第三次练习—1014
- 有关学习编程的网站
- android客户端学习-listview及simpleadapter,arrayadapter
- Java - PAT -1001. 害死人不偿命的(3n+1)猜想 (15)
- Bestcoder83 1002
- 【leetcode-83】Remove Duplicates from Sorted List
- Android wpa_supplicant源码分析--启动之网络接口初始化
- 个人理解:字典转模型
- spark性能优化:shuffle调优