题目链接:点击打开链接
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 105;
char a[N][N];
int main() {
int n, m;
while(~scanf("%d%d", &n, &m)) {
int si = -1, sj = -1;
for(int i = 1; i <= n; i ++ ){
scanf("%s", a[i] + 1);
for(int j = 1; j <= m; j ++) {
if(a[i][j] == 'P') {
si = i;
sj = j;
}
}
}
si ++;
while(si != -1 && si <= n) {
if(a[si][sj] == '.') si ++;
else if(a[si][sj] == '/') {
if(a[si][sj-1] == '\\') {
si = -1;
sj = -1;
break;
} else if(a[si][sj-1] == '/') si ++;
sj --;
} else {// '\'
if(a[si][sj+1] == '/') {
si = -1;
sj = -1;
break;
} else if(a[si][sj+1] == '\\') si ++;
sj ++;
}
// printf("%d %d\n", si, sj);
if(sj < 1 || sj > m) break;
}
if(si == -1 || sj < 1 || sj > m) {
puts("-1");
} else printf("%d\n", sj);
}
return 0;
}