0 Compile Error
代码
信息
- 递交者
- 题目
- LQ1074 蓝桥杯赛迷宫
- 比赛
- 蓝桥杯省赛历年真题
- 语言
- Python 3
- 递交时间
- 5 个月前
- 评测时间
- 5 个月前
- 分数
- 0
- 总耗时
- 0ms
- 峰值内存
- 0 Bytes
#include<iostream>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
char map[n+1][m+1];
int path[n+1][m+1];
for(int i=1;i<=n;i++){
string s;
cin>>s;
for(int j=1;j<=m;j++){
map[i][j]=s[j-1];
path[i][j]=0;
if(map[i][j]=='L'){
path[i][j]=1;
}
}
}
string LQBS="LQBS";
int now=1;
while(true){
int flag=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(path[i][j]==now){
if(map[i][j-1]==LQBS[now%4]){
path[i][j-1]=now+1;
flag++;
}
if(map[i][j+1]==LQBS[now%4]){
path[i][j+1]=now+1;
flag++;
}
if(map[i-1][j]==LQBS[now%4]){
path[i-1][j]=now+1;
flag++;
}
if(map[i+1][j]==LQBS[now%4]){
path[i+1][j]=now+1;
flag++;
}
}
}
}
/*for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<path[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;*/
if(flag==0){
break;
}
if(now>(n+1)*(m+1)){
break;
}
now++;
}
if(now>(n+1)*(m+1)){
cout<<-1;
}else{
cout<<now/4;
}
cin>>n;
}