
思路:当同一个地方走过第二次就说明迷路
#include<stdio.h>
int main(){
int n,m,q;
scanf("%d %d %d",&n,&m,&q);
int str[128][128];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
scanf("%d",&str[i][j]);
}
}
while(q--){
int x,y;
scanf("%d %d",&x,&y);
x-=1;
y-=1;
int i=x,j=y;
int cnt=0;
int a[128][128]={0};
while((i<n&&i>=0)&&(j>=0&&j<m)){
if(a[i][j]==1){
cnt=-1;
break;
}
int t=str[i][j];
a[i][j]=1;
cnt++;
if(t==1) {
i-=1;
}
if(t==2) {
i+=1;
}
if(t==3) {
j-=1;
}
if(t==4) {
j+=1;
}
}
printf("%d\n",cnt);
}
}