洛谷P14039题解 分析 题意 我们需要将一个 N×MN \times MN×M 的矩形蛋糕切割成若干正方形,每次都切出当前能得到的最大正方形(该正方形至少有三条边贴着剩余矩形的边),直到蛋糕完全被切割。要求计算最终得到的正方形总数。 思路 若 N≥MN \geq MN≥M,可切割出 ⌊NM⌋\left\lfloor \frac{N}{M} \right\rfloor⌊MN⌋ 个 M×MM \times MM×M 的正方形,剩余矩形为 (N mod M)×M(N \bmod M) \times M(NmodM)×M。 若 N<MN < MN<M,可切割出 ⌊MN⌋\left\lfloor \frac{M}{N} \right\rfloor⌊NM⌋ 个 N×NN \times NN×N 的正方形,剩余矩形为 N×(M mod N)N \times (M \bmod N)N×(MmodN)。 重复上述过程,累计正方形总数,直至某边长度为 000。 代码 123456789101112131415#include <bits/stdc++.h>using namespace std;int32_t count_square_cakes(int32_t N, int32_t M) { int32_t r = 0; while (N > 0 && M > 0) { if (N >= M) { r += N / M; N %= M; } else { r += M / N; M %= N; } } return r;} 题解 #PAIO #交互题 洛谷P14039题解 https://lijingshu2014.github.io/2025/10/03/洛谷P14039题解/ 作者 lijingshu 发布于 2025年10月3日 许可协议 洛谷P14171题解 上一篇 洛谷P14130题解 下一篇 Please enable JavaScript to view the comments