题解
2026-01-17 12:43:24
发布于:广东
0阅读
0回复
0点赞
#include <iostream>:提供输入(cin)和输出(cout)功能,是 C++ 处理控制台输入输出的核心头文件。
#include <algorithm>:提供 min()函数,用于获取两个数的最小值(确定正方形最大边长)。
total用long long类型:因为当n和m取最大值 1000 时,超过int类型的最大值,使用long long可避免溢出。
n、m、max_side、side、count用int即可:这些值最大为 1000,在int范围内
cin >> n >> m;:读取输入的两个整数(矩形的长和宽)。
max_side = min(n, m);:正方形的边长不能超过矩形的最短边,否则无法放下。
(n - side + 1) * (m - side + 1):计算边长为side时,横向可放的数量 × 纵向可放的数量。
cout << total << endl;:输出最终的方案总数。
#include <iostream>
#include <algorithm> // 用于 min 函数
using namespace std;
int main() {
// 定义两个整数变量存储矩形的长和宽
int n, m;
// 读取输入的两个整数
cin >> n >> m;
// 初始化方案总数为 0
long long total = 0; // 使用 long long 防止数值溢出
// 确定最大可能的正方形边长(取长和宽的较小值)
int max_side = min(n, m);
// 遍历所有可能的边长,从 1 到 max_side
for (int side = 1; side <= max_side; ++side) {
// 计算当前边长对应的正方形数量
int count = (n - side + 1) * (m - side + 1);
total += count;
}
// 输出最终结果
cout << total << endl;
return 0;
}
为什么要费尽心思搞一个判断呢,直接用min就好了
这里空空如也





有帮助,赞一个