zoukankan      html  css  js  c++  java
  • uva 784 Maze Exploration(简单dfs)

    这道题看上去非常麻烦,什么迷宫啊。门之类的,事实上挺简单的,就是让把与 * 连通的都置为 # 包含 * ,

    直接dfs就能够了,只是我wa了好多次。。。最后居然是多读了一个换行。忘了加getchar()了哭,gets()函数

    会把缓冲区里面的换行给读进去的。。。应该把换行去掉,血的教训啊。。

    代码:

    #include<stdio.h> 
    #include<string.h>
    #include<stdlib.h>
    int dx[4]={-1,0,0,1};
    int dy[4]={0,-1,1,0}; 
    char a[35][85];
    void dfs(int x,int y)
    {
    	for(int i=0; i<4; i++)
    	{
    		int xx = x+dx[i];
    		int yy = y+dy[i];
    		if(a[xx][yy]==' ')
    		{
    			a[xx][yy]='#';
    			dfs(xx,yy);
    		}
    	}
    	return ;
    }
    int main()
    {
    	int T;
    	scanf("%d",&T);
    	getchar();
    	while(T--)
    	{
    		int i =0;
    		int j;
    		memset(a,'',sizeof(a));
    		while(gets(a[i++]))
    		{
    			if(a[i-1][0]=='_')
    			{
    				i--;
    				break;
    			}
    		}
    		for(int k=0; a[k][0]!='_'; k++)
    		{
    			for(j=0; a[k][j]!=''; j++)
    			{
    				if(a[k][j]=='*')
    				{
    					a[k][j]='#';
    					dfs(k,j);
    				}
    			}
    		}
    		int k;
    		for( k =0; a[k][0]!='_'; k++)
    			puts(a[k]);
    		puts(a[k]);
    	}
    	return 0;
    }


  • 相关阅读:
    构建之法阅读笔记03
    周进度条
    周活动总结表
    电脑桌面美化
    如何让自己进步,去做成一件事
    后台网站
    laravel RBAC权限管理学习
    laravle定时任务
    django第一次简单讲解使用
    css3网页的淡入淡出效果
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5374309.html
Copyright © 2011-2022 走看看