博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva 784 Maze Exploration
阅读量:5297 次
发布时间:2019-06-14

本文共 1793 字,大约阅读时间需要 5 分钟。

题意:填满能走的空间

解题思路:(大水题)深搜

解题代码:

// File Name: uva784.c// Author: darkdream// Created Time: 2013年05月22日 星期三 21时15分59秒#include
#include
#include
#include
#include
char str[100][100];int visit[100][100];struct node{ int x, y ;}nodes[1000];int xadd[] = {+1,-1,0,0};int yadd[] = {
0,0,+1,-1};int main(){ //freopen("/home/plac/problem/input.txt","r",stdin); //freopen("/home/plac/problem/output.txt","w",stdout); int n ; scanf("%d",&n); getchar(); while(n--) { memset(str,0,sizeof(str)); memset(visit,0,sizeof(visit)); int m ; for(int i =1 ; ;i ++) { gets(&str[i][1]); if(str[i][1] == '_') { m = i-1; break; } } int fx,fy; for(int i = 1; i <= m;i ++) { for(int j = 1; j <= 80 ;j ++) { if(str[i][j] == '*') { fx = i ; fy = j; break; } } } int low = 1, high = 1; nodes[1].x = fx; nodes[1].y = fy; str[fx][fy] = '#'; while(low <= high) { for(int tp = 0 ; tp < 4; tp++) { int tx = nodes[low].x + xadd[tp]; int ty = nodes[low].y + yadd[tp]; if(str[tx][ty] == ' ') { str[tx][ty] = '#'; high++; nodes[high].x = tx; nodes[high].y = ty; } } low++; } for(int i =1 ;i <= m+1;i ++) { puts(&str[i][1]); } }return 0 ;}
View Code

 

转载于:https://www.cnblogs.com/zyue/archive/2013/05/22/3093746.html

你可能感兴趣的文章
暑假N天乐【比赛篇】 —— 2019杭电暑期多校训练营(第六场)
查看>>
NOIP2018备考——DP专题练习
查看>>
UUID库
查看>>
bookstore案例分析
查看>>
php正则:匹配(),{},[]小括号,大括号,中括号里面的内容
查看>>
java 签名RSA
查看>>
layui 表单遇到的小问题
查看>>
冲刺第一天
查看>>
分布式并行计算MapReduce
查看>>
零基础HTML5游戏制作教程 第6章 贪吃蛇的实现及代码
查看>>
非静态成员的sizeof
查看>>
Linux的SVN——RapidSVN及其diff与edit工具配置
查看>>
HTML标签
查看>>
hdu 5592 ZYB's Premutation(线段树优化)
查看>>
Interesting Yang Yui Triangle(hdu3304)
查看>>
ansible总结
查看>>
面试题1字符串的压缩
查看>>
几个孩子围成圈报数 当等于3的时候删除 链表实现 最终输出剩下孩子的编号
查看>>
BZOJ 1853
查看>>
mysql 综合
查看>>