解题思路:
注意事项:
参考代码:
#include<iostream> using namespace std; int main() { int a[100][100]; int n, m, k; cin >> n >> m >> k; for (int i = 1; i <=n; i++) { for (int j = 1; j <= m; j++) { scanf("%d", &a[i][j]); a[i][j] += a[i - 1][j]; //将矩阵向下压缩,通过计算就能得到结果 } } long long res = 0; for (int i = 1; i <= n; i++) { for (int j = i; j <= n; j++) { for (int r = 1, l = 1, sun = 0; r <= m; r++) { sun += a[j][r] - a[i - 1][r]; //计算在i到j之间数据的和 while (sun > k) { sun -= a[j][l] - a[i - 1][l]; //计算i到j之间,lr之间的数据和 l++; } res += r - l + 1; } } } cout << res << endl; }
0.0分
4 人评分
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:1018 |
【数组的距离】 (C语言代码)浏览:787 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:634 |
校门外的树 (C语言代码)浏览:988 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:701 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:616 |
Cylinder (C语言描述+详细分析)浏览:3375 |
模拟计算器 (C语言代码)浏览:2366 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:985 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:545 |