Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: navysrimuang
Problemset: บริษัททำความสะอาด
Language: cpp
Time: 0.003 second
Submitted On: 2025-09-29 00:14:06
#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
int main(){
int n; cin >> n;
vector<vector<int>> arr(n,vector<int>(n,0));
string s;cin >> s;
s+=',';
int tmpi = 0,tmpj = 0;
int tmps = 0;
for(char c : s){
if(isdigit(c)){
tmps = tmps*10 + (c - '0');
}
else if(c == ',' ){
arr[tmpi][tmpj] = tmps;
tmps = 0; //flush
tmpj++;
if(tmpj == n){
tmpj = 0;
tmpi++;
}
}
}
int sum = 0;
for(int i = 0;i<n;i++){
for(int j = 0;j<n;j++){
int value = arr[i][j];
int sumtmp;
if(value != 0){
sumtmp = 4*value + 2;
}else{
continue;
}
// check 4 ways for deduction
//N
if(i!=0){ //no need to check N if i ==0
//chek if > 0r <
if(arr[i-1][j]<arr[i][j]){
sumtmp -= arr[i-1][j];
}else{
sumtmp -= arr[i][j];
}
}
if(j != n-1){ // if j == 2 no ned to check E
if(arr[i][j+1]<arr[i][j]){
sumtmp -= arr[i][j+1];
}else{
sumtmp -= arr[i][j];
}
}
if(i != n-1){ //W
if(arr[i+1][j]<arr[i][j]){
sumtmp -= arr[i+1][j];
}else{
sumtmp -= arr[i][j];
}
}
if(j != 0){ //S
if(arr[i][j-1]<arr[i][j]){
sumtmp -= arr[i][j-1];
}else{
sumtmp -= arr[i][j];
}
}
sum += sumtmp;
}
}
cout << sum << endl;
return 0;
}