hdu 1249 N个三角形把平面分成几个区域

来源:互联网 发布:淘宝登陆键盘不能用了 编辑:程序博客网 时间:2024/05/14 09:52

查找的内容:/*每条边最多与前面已画的(n—1)个三角形的各两条边相交,第n个三角形每条边最多与2*(n-1)条边相交。对于每条边,它所截出的区域(不算第n个三角形的角)有2*(n-1)-1个,于是3条边可截出6*(n-1)-3个区域,再加上3个角即可多出6*(n-1)个区域。能新增加6(n-1)部分。因为1个三角形时有2部分,所以n个三角形最多将平面分成的部分数是 2+6×[1+2+…+(n—1)]*/

查找的计算方法有1,、a[1]=2;a[2]=8;

                                a[i]=a[i-1]+(i-1)*6;

                             2、sum=3*n*(n-1)+2;

一、解题主要在于公式,sum=3*n*(n-1)+2;只是一个重要的计算公式,

二、如果这个公式忘记,只有一点点的推导了,就可以用递推公式,a[1]=2;a[2]=8;a[i]=a[i-1]+(i-1)*6,个人认为递推很难,我就对数字不敏感,所以,对于我来说只能靠记忆一些公式。

三、sum=3*n*(n-1)+2;

四、ycyy

#include<stdio.h>
int main()
{
 int t,m,k;
 scanf("%d",&t);
 while(t--)
 {
     scanf("%d",&m);
     k=3*m*(m-1)+2;
     printf("%d\n",k);        
    }
 return 0;
}
 

0 0
原创粉丝点击