首页 > 其他分享 >洛谷题单指南-暴力枚举-P2241 统计方形(数据加强版)

洛谷题单指南-暴力枚举-P2241 统计方形(数据加强版)

时间:2024-01-30 16:56:44浏览次数:41  
标签:加强版 int 洛谷题 P2241 枚举 方向 容纳 矩形

原题链接:https://www.luogu.com.cn/problem/P2241

题意解读:要在整个n*m区域计算正方形和长方形的个数,枚举法即可。

解题思路:

此题枚举的对象是矩形的高i和宽j,高的范围[1, n],宽的范围[1, m],然后计算在n * m区域内有多少个i * j,i==j即属于正方形,i!=j属于长方形。

那么,问题就集中在了如何计算n * m的区域内有多少个i * j的矩形:

如上图,要在n * m范围内计算有多少个i * j的矩形,只需要看该矩形在水平、垂直方向各能移动多少步,

水平方向:可以移动m - j步,即水平方向可容纳m - j + 1个矩形,

垂直方向:可以移动n - i步,即垂直方向可容纳n - i + 1个矩形,

则整个n * m区域可容纳的i * j矩形数为(m - j + 1) * (n - i + 1)。

需要注意结果可能爆int!

100分代码:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n, m;
    cin >> n >> m;
    long long area = 0, rect = 0;
    for(int i = 1; i <= n; i++) //枚举矩形的高
    {
        for(int j = 1; j <= m; j++) //枚举矩形的宽
        {
            //对于一个i * j的矩形, 计算在n * m范围内有几个
            if(i == j) area += (n - i + 1) * (m - j + 1); //正方形
            else rect += (n - i + 1) * (m - j + 1); //长方形
        }
    }

    cout << area << " " << rect;

    return 0;
}

 

标签:加强版,int,洛谷题,P2241,枚举,方向,容纳,矩形
From: https://www.cnblogs.com/jcwy/p/17997459

相关文章

  • 洛谷题单指南-排序-P1012 [NOIP1998 提高组] 拼数
    原题链接:https://www.luogu.com.cn/problem/P1012题意解读:通过某种合理的排序方式,使得排序后的数字连在一起最大。解题思路:此题关键在于排序,对于两个数字,哪个数字应该排在前面呢?1、思考误区很容易想到,给定两个数abcd、xyz,先比较第一位a和x,谁大谁排前面,一直到c和z。再来看d,这......
  • 洛谷题单指南-排序-P1104 生日
    原题链接:https://www.luogu.com.cn/problem/P1104题意解读:将学生按照年龄由大到小排序,如果年龄相同,后输入的排在前面,输出排序后的学生姓名。解题思路:此题是一个排序常规题,年龄大排在前说明年、月、日越小越在前面,核心的排序思路如下:1、如果年份不同,按年份由小到大排序2、如果......
  • 洛谷题单指南-排序-P5143 攀爬者
    原题链接:https://www.luogu.com.cn/problem/P5143题意解读:给出一系列的点,按某种顺序经过所有点,计算距离。解题思路:如果小学生,可能对于三维坐标距离有些陌生,没关系,题目已经给出了计算公式,直接套公式即可,关键步骤如下:1、读取所有坐标点2、按高度值从小到大排序3、从头依次计算......
  • 洛谷题单指南-排序-P1068 [NOIP2009 普及组] 分数线划定
    原题链接:https://www.luogu.com.cn/problem/P1068题意解读:根据题意,用模拟法,求出分数线所在位置,然后计算分数线,最后输出结果即可。解题思路:1、分数线是按从大到小排名来设定,因此数据因为按照分数从大到小排序,如果分数相同,需要安装报名号从小到大排序2、计算分数线位置,主要是下......
  • 洛谷题单指南-排序-P1152 欢乐的跳
    原题链接:https://www.luogu.com.cn/problem/P1152题意解读:要判断相邻数差的绝对值是否覆盖1~n-1,只需遍历相邻两数之差,借助数组标记差的绝对值是否存在,然后遍历数组即可。解题思路:此题有两个注意点:1、数值要用longlong2、计算差值绝对值后,标记桶数组时,有可能导致越界,因为每个......
  • 洛谷题单指南-排序-P2676 [USACO07DEC] Bookshelf B
    原题链接:https://www.luogu.com.cn/problem/P2676题意解读:要使能够到书架顶的牛数量最少,优先选高的牛即可,直到总身高超过书架高度,简单的排序+贪心,下面给出代码。100分代码:#include<bits/stdc++.h>usingnamespacestd;constintN=20005;inth[N];intn,b;intmain......
  • 洛谷题单指南-排序-P1781 宇宙总统
    原题链接:https://www.luogu.com.cn/problem/P1781题意解读:题目思路非常简单,在n个投票数中选最大的,并记录其编号即可,由于投票数很大,无法直接用整形,需要通过string来进行数字比较。解题思路:本题的关键在于如何比较string数字的大小?在高精度减法时,需要判断两个数的大小,用大数减小......
  • 洛谷题解-[ABC286E] Souvenir
    https://www.luogu.com.cn/problem/AT_abc286_e题目描述NNN個の都市があり、いくつかの相異なる都市の間は一方通行の直行便によって移動することができます。どの直行便が存在するかはNNN個の長さNNNの文字列S1,S2,…,SNS_1,S_2,\ldots,S_NS1​,S2​,…,SN​......
  • 洛谷题解-[ABC325E] Our clients, please wait a moment
    https://www.luogu.com.cn/problem/AT_abc325_e题目描述ある国には都市がNNN個あります。あなたは、都市111にある営業所から000個以上の都市を経由して都市NNNにある訪問先へ移動しようとしています。移動手段は社用車と電車の222種類があります。都市......
  • 洛谷题单指南-排序-P1093 [NOIP2007 普及组] 奖学金
    原题链接:https://www.luogu.com.cn/problem/P1093题意解读:本题考察排序,根据题意,先按总分从大到小排,再按语文从大到小排,以上都相同则按学号从小到大排。100分代码:#include<bits/stdc++.h>usingnamespacestd;constintN=305;structstudent{intid;intyuw......