//
// Created by Ahmet Efendioğlu on 29.09.2025.
//
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int dx[4]={-1,0,0,1};
const int dy[4]={0,1,-1,0};
int32_t main() {
int h,w;
cin>>h>>w;
string grid[h];
bool visited[h][w];
for (int i=0;i<h;i++) {
for (int j=0;j<w;j++) {
visited[i][j]=0;
}
}
for (int i=0;i<h;i++) {
cin>>grid[i];
}
if (grid[0][0]=='.') {
cout<<0<<endl;
return 0;
}
int res=0;
queue<pair<int,int>>q;
q.push({0,0});
while (!q.empty()) {
auto u=q.front();
q.pop();
if (visited[u.first][u.second]==1)continue;
visited[u.first][u.second]=1;
if (grid[u.first][u.second]=='R')res|=2;
if (grid[u.first][u.second]=='F')res|=1;
for (int i=0;i<=3;i++) {
int a=dx[i]+u.first;
int b=dy[i]+u.second;
if (a>=0 && a<h && b>=0 && b<w && grid[a][b]!='.' && !visited[a][b]) {
q.push({a,b});
}
}
}
if (res==3){cout<<2<<endl;}
else cout<<1<<endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |