Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: kavin8888
Problemset: บริษัททำความสะอาด
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-14 19:19:43
#include <bits/stdc++.h>
using namespace std;
#define MAX_N 500
vector<vector<int>> arr(MAX_N + 1, vector<int>(MAX_N + 1));
int main() {
// Input
int n;
cin >> n;
string s;
cin >> s;
string cur = "";
int cnt = 0;
for (int i = 0; i < s.size(); i++) {
if (s[i] != '[' && s[i] != ']' && s[i] != ',') {
cur += s[i];
} else if (cur != "") {
arr[(cnt / n) + 1][(cnt % n) + 1] = stoi(cur);
cnt++;
cur = "";
}
}
// Process
int ans = 0;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (arr[i][j] > 0) {
ans += 2;
}
if (arr[i - 1][j] < arr[i][j]) {
ans += arr[i][j] - arr[i - 1][j];
}
if (arr[i + 1][j] < arr[i][j]) {
ans += arr[i][j] - arr[i + 1][j];
}
if (arr[i][j - 1] < arr[i][j]) {
ans += arr[i][j] - arr[i][j - 1];
}
if (arr[i][j + 1] < arr[i][j]) {
ans += arr[i][j] - arr[i][j + 1];
}
}
}
// Output
cout << ans << '\n';
return 0;
}