问题描述

  平面上有n条折线,问这些折线最多能将平面分割成多少块?

样例输入

1

2

样例输出

2

7

答案是:

2n ( 2n + 1 ) / 2 + 1 - 2n

= 2 n^2  n + 1

当第N次添加时,前面已经有2N-2条直线了,所以第N次添加时,第2N-1条直线和第2N条直线都各能增加2*(n-1)+1 个平面。

所以第N次添加增加的面数是2[2(n-1) + 1] = 4n - 2 个。因此,总面数应该是

1 + 4n(n+1)/2 - 2n = 2n2 + 1

如果把每次加进来的平行边让它们一头相交

当第N次添加时,前面已经有2N-2条直线了,所以第N次添加时,第2N-1条直线和第2N条直线都各能增加2*(n-1)+1 个平面。

所以第N次添加增加的面数是2[2(n-1) + 1] = 4n - 2 个。因此,总面数应该是

1 + 4n(n+1)/2 - 2n = 2n2 + 1

如果把每次加进来的平行边让它们一头相交

则平面1、3已经合为一个面,因此,每一组平行线相交后,就会较少一个面,

在ACM2050前传中已经给出了直线的时平面数,而折线看成是两条直线,便可利用上一篇的公式了。

当第N次添加时,前面已经有2N-2条直线了,所以第N次添加时,第2N-1条直线和第2N条直线都各能增加2*(n-1)+1 个平面。

所以第N次添加增加的面数是2[2(n-1) + 1] = 4n - 2 个。因此,总面数应该是

1 + 4n(n+1)/2 - 2n = 2n^2 + 1 

如果把每次加进来的平行边让它们一头相交

则平面1、3已经合为一个面,因此,每一组平行线相交后,就会较少一个面.

#include<stdio.h>

int main()

{

int T,n;

scanf("%d",&T);

while(T--&&scanf("%d",&n)!=EOF)

printf("%d\n",2*n*n-n+1);

return 0;

}

ACM2050的更多相关文章

  1. ACM2050前传

    n在一个平面上有一个圆和n条直线,这些直线中每一条在圆内 同其他直线相交,假设没有3条直线相交于一点,试问这些直线 将圆分成多少区域.   使用递归 F(1)=2; F(n) = F(n-1)+n; ...

随机推荐

  1. ios(苹果公司的移动操作系统)

    iOS是由苹果公司开发的移动操作系统. 苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的, 后来陆续套用到iPod touch.iPad以及Appl ...

  2. ArcEngine中打开各种数据源(WorkSpace)的连接(转)

    ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开 ...

  3. 48. Rotate Image

    题目: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...

  4. 机器学习 —— 概率图模型(Homework: Factors)

    Talk is cheap, I show you the code 第一章的作业主要是关于PGM的因子操作.实际上,因子是整个概率图的核心.对于有向图而言,因子对应的是CPD(条件分布):对无向图而 ...

  5. HDU 4351 Digital root 线段树区间合并

    依然不是十分理解……待考虑…… #include <cstdio> #include <cstring> #include <cstdlib> #include & ...

  6. 10个实用的PHP正则表达式

    正则表达式是程序开发中一个重要的元素,它提供用来描述或匹配文本的字符串,如特定的字符.词或算式等.但在某些情况下,用正则表达式去验证一个字符串比较复杂和费时.本文为你介绍10种常见的实用PHP正则表达 ...

  7. 对于接收到的GPS信息详解

    最近一直在做gps驱动方面的东西,对于底层接收到的gps信息不是很了解,查询了资料对这些信息做出总结: 由于在室内,所以信号不是很好,接收不到卫星信号,必须站到窗口或者空旷的地方,这是gps的debu ...

  8. Uboot 2014.07 makefile分析 - 其他Cortex系列

    uboot的官网可以通过谷歌搜索得到,显示结果第一个链接就是. 官网:: http://www.denx.de/wiki/U-Boot ftp下载: ftp://ftp.denx.de/pub/u-b ...

  9. NFC(3)Android上的NFC,开启NFC,3种NDEF数据

    Android对NFC技术的支持 Android2.3.1(API Level = 9)开始支持NFC技术,但Android2.x和Android3.x对NFC的支持非常有限.而从Android4.0 ...

  10. AndroidApplication Fundamentals(Android应用基础)

    AndroidApplication Fundamentals(Android应用基础) Android应用采用Java编程语言来编写,AndroidSDK工具编译我们的代码,连同任何数据和资源文件一 ...