第4章第6节-水管工游戏

这篇博客介绍了一个基于深度优先搜索(DFS)解决水管工游戏的方法。游戏规则涉及在一个N*M的网格中,通过旋转管道连接(1,1)到(N,M),管道由直管和弯管组成。博客提供了C语言实现的DFS算法,处理了不同管道类型和进水口位置的情况,并在找不到解决方案时输出'impossible'。" 100078103,8580984,软件缺陷管理:定义、原因与处理流程,"['软件测试', '质量保证', '缺陷管理', '软件工程', '问题跟踪']
摘要由CSDN通过智能技术生成

/*
游戏规则:
一块矩形土地被分为N*M的单位正方形,现在这块土地上已经埋设有一些水管,水管将从坐标为(1,1)的
矩形土地的左上角左部边缘,延伸到坐标为(N,M)的矩形土地的右下角右部边缘,水管只有弯管和直管
两种管道,每种管道占据一个单位正方形土地,可以旋转管道,使其构成一个管道系统,即创造一条从
(1,1)到(N,M)的连通管道,标有树木的地方表示这里没有管道。
定义:
0表示没有管道,1表示上右型管道,2表示下右型管道,3表示下左型管道,4表示上左型管道,
5表示左右型管道,6表示上下型管道,5~6表示直管的两种状态,1~4表示弯管的四种状态
进水口在左边用1表示,进水口在上边用2表示,进水口在右边用3表示,进水口在下边用4表示
使用深度优先搜索来解决,重点在于对弯管和直管时面对四种不同进水口时的解决办法
如果能找到解决方案,输出解决路径,不能则输出impossible
*/
#include "stdio.h"
int a[51][51];//假设土地的大小不超过50*50
int book[51][51],n,m,flag = 0;
struct note
{
    int x;//横坐标
    int y;//纵坐标
}s[100];//与struct note s[100];作用想同
int top;
void dfs(int x,int y,int front)
{
    int i;
    //判断是否到达终点,请注意这里y

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Realeo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值