作业介绍

#include<iostream>
#include<queue>
using namespace std;

// 坐标的结构体
struct Pos{int x, y;};
int n;
bool mp[105][105];
bool vis[105][105];
int dx[4] = {-1,1,0,0};
int dy[4] = {0,0,1,-1};
int sx,sy,ex,ey;

// bfs(x, y)表示能不能从(x, y)走到终点
bool bfs(int x, int y){
	// 准备一个队列
	queue<Pos> q;
	// 起点入队
	q.push({x, y});
	// 标记起点
	vis[x][y] = 1;
	// 遍历队列,从起点开始扩展
	while(!q.empty()){
		// 取出队首元素,开始扩展
		Pos t = q.front();
		// 队首元素出队
		q.pop();
		// 如果走到终点,返回为真
		if(t.x==ex && t.y==ey) return 1;
		// 扩展这个点的相邻节点(上 下 左 右)
		for(int i=0;i<4;i++){
			int xx = t.x + dx[i];
			int yy = t.y + dy[i];
			// 可行性验证
			if(xx>=1&&xx<=n&&yy>=1&&yy<=n&&mp[xx][yy]==0&&vis[xx][yy]==0){
				q.push({xx, yy});
				vis[xx][yy] = 1;
			}
		}
	}
	return 0;
}
状态
已结束
题目
3
开始时间
2025-3-16 9:00
截止时间
2025-3-26 23:59
可延期
24 小时