非官方题解
2025-03-16 22:11:56
发布于:北京
3阅读
0回复
0点赞
这题你可以先求出数组中所有元素之和,再减去四个角上的元素。
注意:由于一个位置最大就可以是 , 而最多有1000个点, 那么必然会爆 int 。作者第一遍没开long long, WA了。
Code:
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <cmath>
#include <queue>
#include <random>
//#define endl "\n"
#define Ll long long
#define true 1
#define false 0
//using namespace std;
const int N = 1e3 + 10, M = 1e2 + 10;
const int dx[] = {-1, 0, 1, 0};
const int dy[] = {0, 1, 0, -1};
Ll T = 1;
int n, a[N][N];
void solve ()
{
//main;
std::cin >> n;
Ll sum = 0;
for (int i = 0; i < n; ++ i)
for (int j = 0; j < n; ++ j)
{
std::cin >> a[i][j];
sum += a[i][j];
}
sum -= a[0][0];
sum -= a[0][n - 1];
sum -= a[n - 1][0];
sum -= a[n - 1][n - 1];
std::cout << sum << std::endl;
return ;
}int main (int argc, const char * argv[])
{
//main;
//cin >> T;
while (T --)
{
solve ();
}return 0;
}
这里空空如也
有帮助,赞一个