Submission

Status:
PPPPPPPP

Score: 100

User: Cmoss9

Problemset: Sirabyrinth 2

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-27 10:51:04

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

int dfs (vector<vector<char>>& rizz, int row , int col) {
    if (row < 0 || row >= rizz.size() || col >= rizz[0].size() || col < 0) {
        return 0;
    }
    if (rizz[row][col] == '#') return 0;

    rizz[row][col] = '#';

    int size = 1;

    size += dfs(rizz,row+1,col);
    size += dfs(rizz,row-1,col);
    size += dfs(rizz,row,col-1);
    size += dfs(rizz,row,col+1);

    return size;

}

int main () {
    cin.tie(0) -> sync_with_stdio(0);
    int n,m;
    cin >> n >> m;
    vector<vector<char>> rizz(n,vector<char>(m));
    for (int i = 0;i<n;i++) {
        for (int j = 0;j<m;j++) {
            cin >> rizz[i][j];
        }
    }
    int size = 0;
    for (int i = 0;i<n;i++) {
        for (int j = 0;j<m;j++) {
            if (rizz[i][j] == 'S') {
                size = dfs(rizz,i,j);
            }
        }
    }
    cout << size;
}