• C/C++语言100题练习计划 85——统计方形(枚举实现)


    名人说:故立志者,为学之心也;为学者,立志之事也。—— 王阳明
    进度:C/C++语言100题练习计划专栏,目前85/100

    🥇C/C++语言100题练习专栏计划目的:巩固练习C/C++语言,增强上机、动手实践能力,交流学习!

    一、问题呈现

    1.问题描述

    Problem Description
    有一个 n × m n \times m n×m 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。

    2.输入输出

    Input

    一行,两个正整数 n , m n,m n,m n ≤ 5000 , m ≤ 5000 n \leq 5000,m \leq 5000 n5000,m5000)。

    Output

    一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。

    3.测试样例

    Sample Input

    2 3

    Sample Output

    8 10

    二、源码实现

    #include
    using namespace std;
    long long n,m,square,rectangle;
    
    int main() 
    {
    	
    	//输入棋盘的长和宽
        cin>>n>>m;
        //循环,从n-0到n-(n-1)
        for(int i=0; i<n; i++)
            for(int j=0; j<m; j++) //循环,从m-0到m-(m-1)
    		{	
                if(i==j) 
    				square+=(n-i)*(m-j);//如果i==j,说明是正方形
                else 
    				rectangle+=(n-i)*(m-j);//如果不等说明是矩形
            }
        //输出包含的正方形、长方形数目
        cout<<square<<" "<<rectangle<<endl;
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    ★关于本题思路及枚举

    1、本题思路简述

    首先,统计一个n * m的矩形里有多少个正方形,长方形。
    要明确,正方形和长方形都是矩形,那么n * m的矩形里的
    矩形数=正方形数+长方形数
    明白这些对两者就好求解了

    2、枚举

    1️⃣枚举相关概念
    枚举算法是我们在日常中使用最多的一种算法思想,它的核心思想是:枚举所有的可能,确定枚举对象、范围和判定条件;然后注意枚举可能的解并验证每个解是否是问题的解。

    2️⃣常见的枚举结构
    循环+判断

    3️⃣枚举的优缺点
    ①优点
    枚举算法一般是现实生活问题的“直译”,所以比较直观,易于理解
    枚举算法建立在考察大量状态、甚至是穷举所有状态的基础上,所有算法的真确性容易证明
    ②缺点
    枚举算法的效率取决于枚举状态的数量和单个状态枚举的代价,所以枚举效率相对来说比较低

    三、测试结果

    2 3
    8 10
    
    --------------------------------
    Process exited after 1.203 seconds with return value 0
    请按任意键继续. . .
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder)
    如果对大家有帮助的话,希望大家能多多点赞+关注!这样我动力会更足哦! ღ( ´・ᴗ・` )比心

  • 相关阅读:
    Java基础——标识符及命名规范
    高德地图API-鼠标点击地图获取经纬度坐标(关键操作)
    14.linux线程
    git 提交规范化
    vscode初次远程连接服务器报错解决
    CS8416国产替代DP8416 数字音频接收器
    配置IPv4静态路由,轻松搭建高效网络通道
    内行看门道,外行看热闹。阿里 P8 大咖离职带出内网专属“高并发系统设计”学习笔记,涨薪跳槽 10k 不成问题吧?
    基于OneNet平台设计的多节点温度采集系统-有人云4G模块+STM32
    网页编写基础php,apache,wampsever
  • 原文地址:https://blog.csdn.net/qq_51646682/article/details/126653599