Submission

Status:

-PP-------

Subtask/Task Score:

20/100

Score: 20

User: DryNotechan

Problemset: บริษัททำความสะอาด

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-03 15:30:23

#include <bits/stdc++.h>
using namespace std;

int zero1(int x){
    return (x < 0) ? 0 : x;
}

int main(){
    int n;
    cin >> n;
    string str;
    cin >> str;

    vector<int> arr;
    for(char ch : str){
        if(isdigit(ch)){
            arr.push_back(ch - '0');
        }
    }

    vector<vector<int>> home(n+2, vector<int>(n+2, 0));
    int p = 0;
    for(int i=1; i<=n; i++){
        for(int j=1; j<=n; j++){
            home[i][j] = arr[p++];
        }
    }

    int sum = 0;
    for(int i=1; i<=n; i++){
        for(int j=1; j<=n; j++){
            if(home[i][j] > 0){
                int area = 2
                         + zero1(home[i][j]-home[i][j-1])
                         + zero1(home[i][j]-home[i][j+1])
                         + zero1(home[i][j]-home[i-1][j])
                         + zero1(home[i][j]-home[i+1][j]);
                sum += area;
            }
        }
    }
    cout << sum;
}