Submission
Status:
-PPxxxxxxx
Subtask/Task Score:
20/100
Score: 20
User: navysrimuang
Problemset: บริษัททำความสะอาด
Language: cpp
Time: 0.004 second
Submitted On: 2025-09-28 23:49:31
#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;
int tmpi = 0,tmpj = 0;
for(char c : s){
if(isdigit(c)){
arr[tmpi][tmpj] = c - '0';
tmpi++;
if(tmpi == n){
tmpi = 0;
tmpj++;
}
}
}
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;
}