HDOJ-1026 Ignatius and the Princess I

BFS  结构体+队列。

 难度小,但刚入门,需要多练习!!

    #include       
    #include      
    #include 
    #include      
    #include           
    #include      
    #include      
    #include      
    #include      
    #include      
    #include      
    #include    
    #include    
    using namespace std;
    char Map[105] [105];
    int map2[105] [105]; //用来标志已经走过的路 
    int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
    int n,m;
    struct node
    {
    	int s[1000][5];
    	int steps;
    	int x,y;
    };
    void bfs()
    {
    	queueq;
    	node s;
    	s.steps = 0;
    	s.x = 0;
    	s.y = 0;
    	q.push(s);
    	while(!q.empty())
    	{
    		node s1 =q.front();
    		q.pop();
    		int x1 =s1.x;
    		int y1= s1.y;
    		//已经到达终点,并且怪兽都杀死了
    		if(x1==m-1&&y1==n-1&&(Map[y1][x1]=='.'||Map[y1][x1]=='0'))
    		{
    			printf("It takes %d seconds to reach the target position, let me show you the way.\n", s1.steps);
    			for(int i=0; i(%d,%d)", s1.s[i][2], s1.s[i][1], s1.s[i][4], s1.s[i][3]);
    				}
    				cout<=0 && x2=0 && y2 >n>>m)
    	{
    		char c;
    		memset(map2,0,sizeof(map2)); 
    		for(int i=0;i>c;
    				Map[i][j]=c;	
    			}
    		}
    		map2[0][0] =1;
    		bfs();
    		cout<<"FINISH"<

 

你可能感兴趣的:(DFS,搜索)