/*
游戏规则:
一块矩形土地被分为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
第4章第6节-水管工游戏
最新推荐文章于 2020-03-21 21:41:37 发布
这篇博客介绍了一个基于深度优先搜索(DFS)解决水管工游戏的方法。游戏规则涉及在一个N*M的网格中,通过旋转管道连接(1,1)到(N,M),管道由直管和弯管组成。博客提供了C语言实现的DFS算法,处理了不同管道类型和进水口位置的情况,并在找不到解决方案时输出'impossible'。"
100078103,8580984,软件缺陷管理:定义、原因与处理流程,"['软件测试', '质量保证', '缺陷管理', '软件工程', '问题跟踪']
摘要由CSDN通过智能技术生成