求助一本通1252
  • 板块灌水区
  • 楼主Srikasso
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/8/4 18:04
  • 上次更新2023/11/4 12:00:20
查看原帖
求助一本通1252
443720
Srikasso楼主2021/8/4 18:04

rt,代码:

#include <bits/stdc++.h>
using namespace std;
int fx[5] = {0,0,1,0,-1}; 
int fy[5] = {0,1,0,-1,0}; 
int tx,ty,m,n,i,j,q[90000][10];
int s1,s2,e1,e2,head = 1,tail = 1;
char a[10000][10000];
int main(){
	cin>>m>>n;
	for(i = 1;i <= n;i ++){
		for(j = 1;j <= m;j ++){
			cin>>a[i][j];
		}
	}
	q[1][1] = 1;
	q[1][2] = 1;
	q[1][3] = 1;
	while(head <= tail){
		for(i = 1;i <= 4;i ++){
			tx = q[head][1] + fx[i];
			ty = q[head][2] + fy[i];
			if(a[tx][ty] == '.' && tx >= 1 && tx <= n && ty >= 1 && ty <= m){
				a[tx][ty] = '#';
				tail ++;
				q[tail][1] = tx;
				q[tail][2] = ty; 
				q[tail][3] = q[head][3] + 1;
				if(tx == n && ty == m){
					cout<<q[tail][3];
					return 0;
				}
			}
		}
		head++;
	}
	return 0;
}

在一喷通调了半天,结果对了,但没完全对

2021/8/4 18:04
加载中...