luogu迷宫寻路

思路:当同一个地方走过第二次就说明迷路

复制代码
#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);
	}
}
相关推荐
phltxy3 小时前
C语言操作符详解
java·c语言·算法
aqiu1111113 小时前
【LeetCode 902】最大为 N 的数字组合 - 详细题解与数位组合思路
数据结构·算法·leetcode·蓝桥杯·数位dp
辰烨chenye4 小时前
LeetCode Hot 100 题解 · 哈希篇
算法·leetcode·哈希算法
罗西的思考4 小时前
DreamZero 与 DreamDojo:世界模型与策略的分层协同综合分析与对比
人工智能·算法·机器学习
玖玥拾5 小时前
LeetCode 219 存在重复元素 II
算法·leetcode·哈希算法·散列表
知无不研6 小时前
c语言中循环的介绍与简单应用
c语言·开发语言·算法·循环·for·while
a187927218317 小时前
【算法】动态规划第四篇:背包收官——min 哨兵、计数世界与组合排列分水岭
算法·leetcode·动态规划·dp·01背包·算法讲解·决策合并
2601_962297487 小时前
在python3中、下列输出变量a的正确写法是_2020超星大数据Python免费答案
数据结构·python·算法·编程·字符串操作
辰烨chenye8 小时前
LeetCode Hot 100 题解 · 子串篇
算法·leetcode·职场和发展