社区讨论
警示后人,如果你最后一个点WA
P2004领地选择参与者 6已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lo7dywe0
- 此快照首次捕获于
- 2023/10/27 00:15 2 年前
- 此快照最后确认于
- 2023/10/27 00:15 2 年前
CPP
//85分代码
#include <bits/stdc++.h>
using namespace std;
int n, m, c, x, y, ans = 0;
int a[1005][1005];
int sum[1005][1005];
int main()
{
cin >> n >> m >> c;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
{
cin >> a[i][j];
sum[i][j] = sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1] + a[i][j];
}
for(int i = 1; i <= n - c + 1; i++) //枚举左上角
for(int j = 1; j <= m - c + 1; j++)
{
int k = i + c - 1, l = j + c - 1; //右下角
int s = sum[k][l] - sum[i - 1][l] - sum[k][j - 1] + sum[i - 1][j - 1];
if(ans < s)
{
ans = s;
x = i;
y = j;
}
}
cout << x << " " << y;
return 0;
}
CPP#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n, m, c, x, y, ans = 0;
int a[1005][1005]; //可以不加这个
ll sum[1005][1005];
int main()
{
cin >> n >> m >> c;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
{
cin >> a[i][j];
sum[i][j] = sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1] + a[i][j];
}
for(int i = 1; i <= n - c + 1; i++) //枚举左上角
for(int j = 1; j <= m - c + 1; j++)
{
int k = i + c - 1, l = j + c - 1; //右下角
ll s = sum[k][l] - sum[i - 1][l] - sum[k][j - 1] + sum[i - 1][j - 1]; //这里的long long 别丢!!!
if(ans < s)
{
ans = s;
x = i;
y = j;
}
}
cout << x << " " << y;
return 0;
}
不开long long见祖宗
回复
共 5 条回复,欢迎继续交流。
正在加载回复...