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