分割n边形

1.题目:

Problem Description

以n(n>3)边形的n个顶点和它内部的m(m为正整数)个点,共(m+n)个顶点作为顶点,可把原n边形分割成多少个互不重叠的小三角形?

Input

输入有多组,每行输入n和m,用空格分开

Output

对每组输入数据,输出一行

Sample Input

3 2
4 3
5 6
2012 22

Sample Output

5
8
15
2054

Author

wqq

 

 

 

2.思路:

       这是一道找规律的题目。具体分析如下:

   

问题提出:以n边形的n个顶点和它内部的m个点,共(mn)个点作为顶点,可把原n边形分割成多少个互不重叠的小三角形?

问题探究:为了解决上面的问题,我们将采取一般问题特殊化的策略,先从简单和具体的情形入手:

 

探究一:以△ABC的3个顶点和它内部的1个点P,共4个点为顶点,可把△ABC分割成多少个互不重叠的小三角形?

如图①,显然,此时可把△ABC分割成3个互不重叠的小三角形.

 

探究二:以△ABC的3个顶点和它内部的2个点PQ,共5个点为顶点,可把△ABC分割成多少个互不重叠的小三角形?

在探究一的基础上,我们可看作在图①△ABC的内部,再添加1个点Q,那么点Q的位置会有两种情况:

一种情况,点Q在图①分割成的某个小三角形内部.不妨设点Q在△PAC的内部,如图②;

另一种情况,点Q在图①分割成的小三角形的某条公共边上.不妨设点QPA上,如图③.

显然,不管哪种情况,都可把△ABC分割成5个互不重叠的小三角形.

 

探究三:以△ABC的三个顶点和它内部的3个点PQR,共6个点为顶点,可把△ABC分割成      个互不重叠的小三角形,并在图④中画出一种分割示意图.

 

探究四:以△ABC的三个顶点和它内部的m个点,共(m+3)个点为顶点,可把△ABC分割成        个互不重叠的小三角形.

 

探究拓展:以四边形的4个顶点和它内部的m个点,共(m+4)个点为顶点,可把四边形分割成        个互不重叠的小三角形.

 

问题解决:以n边形的n个顶点和它内部的m个点,共(mn)个点作为顶点,可把原n边形分割成        个互不重叠的小三角形.

 

实际应用:以八边形的8个顶点和它内部的2012个点,共2020个顶点,可把八边形分割成多少个互不重叠的小三角形?(要求列式计算)

 

答案:

探究三:7.

探究四:3+2(m-1)或者2m+1。

探究拓展::4+2(m-1)或者2m+2。

问题解决:n+2(m-1)或者2m+n-2。

实际应用:把n=8,m=2012代入上述代数式,得:

 2m+n-2=2*2012+8-2=4024+8-2=4030。

 

3.参考代码:

 

 

#include <iostream>
using namespace std;

int main()
{
    int n, m;

    while (cin >> n >> m) {
            
        cout << 2 * m + n - 2 << endl;
    
    }

    return 0;
}


 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值