Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: august

Problemset: หุ่นพัง

Language: cpp

Time: 0.002 second

Submitted On: 2025-11-14 18:46:11

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

int main() {
    cin.tie(0)->sync_with_stdio(0);
    int n;
    cin>> n;

    vector<vector<char>> g(n, vector<char>(n));
    for (int i=0; i<n; i++) for (int j=0; j<n; j++) cin>> g[i][j];

    queue<pair<int,int>> q;
    q.push({n-1, n-1});
    
    if (g[n-1][n-1] == 'X') {
        cout<< 0;
        return 0;
    }
    int ans = 1;

    int di[2] = {-1, 0}, dj[2] = {0, -1};
    while (!q.empty()) {
        int i=q.front().first, j=q.front().second;
        q.pop();

        for (int e=0; e<2; e++) {
            int ni=i+di[e], nj=j+dj[e];
            if (ni<0 || nj<0 || g[ni][nj] == 'X') continue;
            ans++;
            g[ni][nj] = 'X';
            q.push({ni,nj});
        }
    }
    cout<< ans;
}