文章

13

粉丝

168

获赞

12

访问

12.2k

头像
生化武器 题解:bfs
P1126
发布于2023年6月22日 02:04
阅读数 625

没用板子设置方向,然后for遍历四种扩展,而是很笨的写法,分别四个if进行扩展

//#include<bits/stdc++.h>
#include<iostream>
#include<string>
#include<cstring>
#include<vector>
#include<queue>
using namespace std;
#define rep(i,s,e) for(int i=s;i<e;i++)
#define per(i,s,e) for(int i=s;i>e;i--)

typedef struct node{
	int i,j;
	char val;
	int join_time;//被扩展出的时间 
}*Node; 

int main() {
	Node temp=new node,tmp,S=new node;//temp用于表示被扩展节点,tmp用于表示temp的子节点,S表示起始节点 
    int m,n,t,time,flag;//time计时器,flag标识是否 
    vector<Node> open;//bfs模拟队列 
	char map[30][30];
	int vis[30][30];//未扩展过0,扩展过1,无效点-1 
	string line;
    while(cin>>m>>n>>t){
    	//清空map
		for(int i=0;i<m;i++){
			for(int j=0;j<line.size();j++) {
				map[i][j]=' '; vis[i][j]=-1;
			}
		}
    	cin.ignore();
    	//读入地图  
		for(int i=0;i<m;i++){
			getline(cin,line);
			for(int j=0;j<line.size();j++) {
				map[i][j]=line[j];
				if(line[j]=='X') vis[i][j]=...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发