• B-递推


    QAQ这一次做数学题,某种程度上容易好多,因为题目容易看懂了,至少这一道做起来很有思路,最开始做的是时候还是错的,我看了数据就以为是2的2n-1次方,但是其实是2+3n(n-1);然后套公式,解决输入输出格式就行。

    最后贴一下网上一个思路:

    平面本身是1部分.一个三角形将平面分成三角形内、外2部分,即增加了1部分, 两个三角形不相交时将平面分成3部分,相交时,交点越多分成的部分越多(见下图); 由上图看出,新增加的部分数与增加的交点数相同,所以,再画第3个三角形时,应使每条边的交点尽量多; 对于每个三角形,因为1条直线最多与三角形的两条边相交,所以第3个三角形的每条边最多与前面2个三角形的各两条边相交,共可产生3×(2×2)=12(个)交点,即增加12部分; 因此,3个三角形最多可以把平面分成:1+1+6+12=20(部分); 由上面的分析,当画第n(n≥2)个三角形时,每条边最多与前面已画的(n-1)个三角形的各两条边相交, 共可产生交点:3×[(n-l)×2]=6(n-1)(个),能新增加6(n-1)部分, 因为1个三角形时有2部分,所以n个三角形最多将平面分成的部分数是: 2+6×[1+2+…+(n-1)]=2+6× n(n-1) 2 =2+3n(n-1), 当n=10时,可分成:2+3×10×(10-1)=272(部分). 答:3个三角形最多可以把平面分成20部分,10个三角形最多可以把平面分成272部分.

    #include<iostream>
    using namespace std;
    int main()
    {
        int n;
        cin>>n;
        while(n--)
        {
            long m,k=1;
            cin>>m;
            k=2+3*m*(m-1);
            cout<<k<<endl;
        }
        return 0;
    }
    

      

  • 相关阅读:
    SpringBoot整合flyway
    JavaFTP递归查询指定目录下的所有目录和文件
    初识网络设备
    Session
    Cookie
    文件下载
    PHP文件上传
    数据库操作函数笔记
    Apache #Tomcat CVE-2020-9484
    红方人员实战手册
  • 原文地址:https://www.cnblogs.com/yintoki/p/5723859.html
Copyright © 2020-2023  润新知