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;
}