洛谷 P1548 [NOIP1997 普及组] 棋盘问题 题解

news2024/9/22 15:28:03

题目背景

NOIP1997 普及组第一题

题目描述

设有一个N×M 方格的棋盘 (1≤N≤100,1≤M≤100)

求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。

例如:当 N=2,M=3时:

正方形的个数有 8 个:即边长为 1 的正方形有 6 个;边长为 2 的正方形有 2 个。

长方形的个数有 10 个:

  • 2×1的长方形有 4 个:

  • 1×2 的长方形有 3 个:

  • 3×1的长方形有 2 个:

  • 3×2 的长方形有 1 个:

输入格式

一行两个整数 N,M。

输出格式

一行两个整数,表示正方形的个数与长方形的个数。

输入输出样例

输入 #1

2 3

输出 #1

8 10

思路:

这题主要是要知道某些公式:

设长为n,宽为m,则:

当前正方形个数=(n-边长+1)*(m-边长+1)

正方形个数+长方形个数=(1~n的和)*(1~m的和)

长方形个数=(1~n的和)*(1~m的和)- 正方形个数

推导过程先不写了,有兴趣可以去翻翻这题里面大佬写的过程(涉及到奥数)

AC代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,m,a=0,b=0;
    cin >> n >> m;
    for(int i=1;i<=min(n,m);i++)
    {
        a+=(n-i+1)*(m-i+1);
    }
    int a1=0,b1=0;
    for(int i=1;i<=n;i++)
    {
        a1+=i;
    }
    for(int i=1;i<=m;i++)
    {
        b1+=i;
    }
    b=a1*b1-a;
    cout<<a<<" "<<b;
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1966996.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(附源码)Springboot 书店销售管理-计算机毕设 42172

Springboot 书店销售管理 目 录 摘要 1 绪论 1.1 研究意义 1.2选题背景 1.3springboot框架介绍 2 书店销售管理系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析…

PCB电路板散热的技巧

对于电子设备来说&#xff0c;工作时都会产生一定的热量&#xff0c;从而使设备内部温度迅速上升&#xff0c;如果不及时将该热量散发出去&#xff0c;设备就会持续的升温&#xff0c;器件就会因过热而失效&#xff0c;电子设备的可靠性能就会下降。 因此&#xff0c;对电路板…

独立站转化率优化移动端篇丨出海笔记操盘手面对面精华

关于独立站转化率优化&#xff0c;其实有专业的术语叫做CRO——conversion rate optimize。其实这是个很大很大的话题。里面其实包括站站外和站内的两部分&#xff0c;站外不用多说了比如就是广告&#xff0c;或者是其他的流量渠道等等&#xff0c;站内优化是我们今天要讲的重点…

springboot高校科研成果管理系统-计算机毕业设计源码48574

摘要 随着科研规模和复杂度的增加&#xff0c;管理科研成果、经费申请等方面变得愈发困难&#xff0c;需要系统化的管理工具进行支持。并且科研活动产生的数据量庞大&#xff0c;也越来越来越多的成果涌现&#xff0c;需要有效的数据管理系统来对高校科研成果进行处理、审核和发…

记录|如何统一管理多个同一个对象?

目录 前言一、对象就用对象数组管理更新时间 前言 自己的感想 一开始&#xff0c;自己没弄懂C# winform中的testBox是什么&#xff0c;导致创建多个testBox的时候要用很笨的方法来进行管理。 就是下面这种&#xff1a;用数组一个一个掉用里面的单独属性。 string[] str new …

操作系统之Linux相关 内存管理、虚拟内存、设计特点、网络编程模型

Linux 文章目录 LinuxLinux 内存管理Linux 虚拟内存概述虚拟地址与物理地址的映射内存分页分页的优势虚拟地址到物理地址的映射机制分级页表的缺陷段页式内存管理 Linux 信号Linux 设计特点I/O 多路复用五种 I/O 模型详解Linux 网络编程模型软链接和硬链接对比中断和异常用户态…

8G内存的Mac够用吗 ?苹果电脑内存满了怎么清理?可以有效地管理和优化你的Mac电脑内存,确保设备运行流畅

嘿&#xff0c;朋友们&#xff0c;让咱们聊聊怎么让我们的Mac小伙伴时刻保持巅峰状态吧&#xff01;想象一下&#xff0c;每一次点击、每一次滑动&#xff0c;都如同初见时那般丝滑顺畅&#xff0c;是不是超级心动&#xff1f;为了这份持久的畅快体验&#xff0c;我强烈推荐大家…

提升教学效率,智慧校园班主任管理的下课堂功能助力

在智慧校园学工系统中&#xff0c;班主任管理课堂的关键在于利用系统提供的工具高效执行点名与秩序维护。班主任可以借助系统快速进行点名&#xff0c;自动匹配班级学生名单&#xff0c;简化整个流程。系统支持多样化的点名方式&#xff0c;包括传统手动点名、二维码签到&#…

6-2 图像卷积

互相关运算 严格来说&#xff0c;卷积层是个错误的叫法&#xff0c;因为它所表达的运算其实是互相关运算&#xff08;cross-correlation&#xff09;&#xff0c;而不是卷积运算。 根据 6-1节中的描述&#xff0c;在卷积层中&#xff0c;输入张量和核张量通过互相关运算产生输…

On Stacking a Persistent Memory File System on Legacy File Systems——论文泛读

FAST 2023 Paper 分布式元数据论文阅读笔记整理 问题 非易失性主存储器&#xff08;NVMM&#xff09;具有与DRAM类似的低访问延迟和字节可寻址性&#xff0c;同时实现数据的非易失性。但存在以下缺点&#xff1a;&#xff08;1&#xff09;延迟高于DRAM&#xff0c;&#xff…

PVE虚拟机被锁定:VM is locked解决方法

&#x1f31f;&#x1f30c; 欢迎来到知识与创意的殿堂 — 远见阁小民的世界&#xff01;&#x1f680; &#x1f31f;&#x1f9ed; 在这里&#xff0c;我们一起探索技术的奥秘&#xff0c;一起在知识的海洋中遨游。 &#x1f31f;&#x1f9ed; 在这里&#xff0c;每个错误都…

前端面试宝典【设计模式】【1】

欢迎来到《前端面试宝典》,这里是你通往互联网大厂的专属通道,专为渴望在前端领域大放异彩的你量身定制。通过本专栏的学习,无论是一线大厂还是初创企业的面试,都能自信满满地展现你的实力。 核心特色: 独家实战案例:每一期专栏都将深入剖析真实的前端面试案例,从基础知…

某RED书旋转验证码标注工具

注意&#xff0c;本文只提供学习的思路&#xff0c;严禁违反法律以及破坏信息系统等行为&#xff0c;本文只提供思路 本文的验证码网址如下&#xff0c;使用base64解码获得 最近&#xff0c;某书的旋转验证码又更新了&#xff0c;在我之前的文章有讲过利用梯度幅度计算图像边缘…

Apache 的POI居然还能操作PPT,快来试试看

上次我们讲的用POI操作excel。Java操作Excel(Apache Poi详解) 那么java怎么操作ppt呢&#xff0c;其实poi也提供了操作ppt的sdk&#xff0c;现在我们来直接用Apache的poi操作ppt 首先我们要知道的是PPT有两种&#xff0c;一种格式是PPT&#xff0c;一种格式是PPTX&#xff0c;P…

Seata的使用

Seata Seata是一款开源的分布式事务解决方案&#xff0c;致力于提供高性能和简单易用的分布式事务服务。 术语 TC(Transaction Coordinator) -事务协调者&#xff08;相当于服务端&#xff09; 维护全局和分支事务的状态&#xff0c;驱动全局事务提交或回滚 TM(Transaction …

使用Python实现Excel文件首页截图工具

日常工作中&#xff0c;尤其是处理大量Excel文件时&#xff0c;可能需要对文件的首页进行截图保存&#xff0c;以便于后续的快速查看或报告编写。今天&#xff0c;我将分享一个用Python编写的Excel文件首页截图工具。这个工具将帮助我们自动化地对选定的Excel文件进行首页截图&…

Linux驱动入门—什么是驱动?体系结构,驱动的分类,开发驱动需要注意的问题

文章目录 什么是驱动&#xff1f;Linux系统体系结构用户空间与内核空间的隔离用户应用程序库函数用户空间守护进程命令行接口&#xff08;CLI&#xff09;图形用户界面&#xff08;GUI&#xff09; 内核空间内核的角色和职责内核空间与用户空间的区别内核的结构和组成内核空间的…

【Linux】网络架构探秘:网络层功能、IP协议详解及路由过程指南

文章目录 前言&#xff1a;1. 网络层是干什么的&#xff1f;2. IP协议2.1 理论铺垫2.2 IP协议的头格式2.3 网段划分&#xff08;重点&#xff09;2.3.1 分类划分法&#xff1a;2.3.2 子网掩码&#xff1a;2.3.3 为什么要经行子网划分? 2.4 特殊的IP地址2.5 IP地址的数量限制2.…

个人量化交易兴起!有什么好用的量化软件推荐?迅投QMT量化平台简介!

QMT是专门为机构、活跃投资者、高净值客户等专业投资者研发的智能量化交易终端&#xff0c;拥有高速行情、极速交易、策略交易、多维度风控等专业功能&#xff0c;满足专业投资者的特殊交易需求。覆盖业务范围广:沪深A股、港股通、两融、期权、期货。 适合用QMT的投资者&#x…

用Java手写jvm之模拟解释器执行指令码

写在前面 本文看下如何模拟解释器执行指令码。需要一些前置内容&#xff1a; 用Java手写jvm之系列 中的前4篇文章&#xff0c;当然如果你已经了解了这部分内容&#xff0c;也可以不看。 1&#xff1a;正文 既然是模拟解释器&#xff0c;我们肯定要先来定义一个解释器类了&am…