Submission

Status:
PPPPPPPPPP

Score: 100

User: aml

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

Language: cpp

Time: 0.003 second

Submitted On: 2024-11-26 19:29:37

#include <bits/stdc++.h>
using namespace std;
int main(){
	int n;
	string str;
	cin >> n >> str;
	int bd[n][n];
	int x=0, y=0;
	for(int i=0; i<str.length(); i++){
		int s=0;
		if(str[i]!='[' && str[i]!=']' && str[i]!=','){
			if(str[i+1]==',' || str[i+1]==']'){
				s = str[i]-48;
			}else{
				int j=i,k=0,m=0;
				while(str[j]!=']' && str[j]!=','){
					k++; j++;
				}
				int o=k;
				while(k>0){
					s += (str[i+m]-48)*pow(10,k-1);
					k--; m++;
				}
				i+=o;
			}
			bd[x][y]=s;
			y++;
			if(y>=n){
				y=0;
				x++;
			}
		}
	}
	int cl=0;
	for(int i=0; i<n; i++){
		for(int j=0; j<n; j++){
			if(bd[i][j]!=0){
				cl+=2;
				
				if(i-1<0) cl+=bd[i][j];
				if(j-1<0) cl+=bd[i][j];
				if(j+1==n) cl+=bd[i][j];
				if(i+1==n) cl+=bd[i][j];
				
				if(bd[i][j]>bd[i-1][j] && i-1>=0) cl+=bd[i][j]-bd[i-1][j];
				if(bd[i][j]>bd[i][j-1] && j-1>=0) cl+=bd[i][j]-bd[i][j-1];
				if(bd[i][j]>bd[i][j+1] && j+1<n) cl+=bd[i][j]-bd[i][j+1];
				if(bd[i][j]>bd[i+1][j] && i+1<n) cl+=bd[i][j]-bd[i+1][j];
			}
		}
	}
	cout << cl;
	return 0;
}