P1837 切出最好吃的蛋糕
#include <iostream> #include <cstring> using namespace std; const int N = 110; int n; int s[N][N]; // 二维前缀和数组 int main() { cin >> n; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { int x; cin >> x; s[i][j] = s[i - 1][j] + s[i][j - 1] - s[i - 1][j - 1] + x; } } int ans = -1e9; for (int i = 1; i <= n; i++) { // 枚举矩形左上角的位置 for (int j = 1; j <= n; j++) { for (int k = i; k <= n; k++) { // 枚举矩形右下角的位置 for (int l = j; l <= n; l++) { int sum = s[k][l] - s[k][j - 1] - s[i - 1][l] + s[i - 1][j - 1]; // 子矩形的和 ans = max(ans, sum); // 更新最大值 } } } } cout << ans << endl; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律