91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-09
  • 語言: C/C++
  • 標(biāo)簽: 回溯法??路線??

資源簡(jiǎn)介

該算法可以隨機(jī)產(chǎn)生任意大小的迷宮,迷宮的大小由用戶輸入決定 回溯法解決迷宮是個(gè)經(jīng)典算法,利用順序棧來存儲(chǔ)迷宮路線 如果能成功走出迷宮,可以畫出迷宮軌跡

資源截圖

代碼片段和文件信息

/*
♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀
♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂
?●?Date??:2011-11-16????
?●?Author?:renlimin
?●?Description??:?

?●?subscribe:????
?
?●?Introduction:?
?●?????????????????????????????

♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀♀
♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂♂
*/
//----------------包含頭文件---------------------------------
#include“stdio.h“?
#include“stdlib.h“
#include“time.h“

//=--------------定義常量-------------------------------------
#define??max?126?
#define?MaxSize?10000
//---------------自定義數(shù)據(jù)類型-------------------------------
typedef?struct
{
int?x;?//?橫?坐標(biāo)?
int?y;?//?縱?坐標(biāo)?
int?k;?//?方?向
}datatype;?//定義棧元素類型

typedef?struct?
{
datatype?data[MaxSize];
int?top;
}STACK;//定義棧類型

typedef??struct????????????
{?
int?x;
int?y;
}?item?;//定義方向數(shù)據(jù)的型??
?
//---------------變量定義-------------------------------------
int?hanglie;
int?Maze[max+2][max+2];
int?Mark[max+2][max+2];
STACK?road;
item?move[8];
//---------------基本函數(shù)聲明---------------------------------
int?Rand_01(int?s_hangint?s_lie);
void?InitStack(STACK?*S);
//---------------函數(shù)聲明-------------------------------------
void?Init_value(void);
int?Go(int?*mazeint?HANGint?LIE);
void?Random_Maze(void);//隨機(jī)生成迷宮
int?Push(STACK?*Sdatatype?x);
int?Pop(STACK?*Sdatatype?*x);?????
int?Empty(STACK?*S);
int?GetTop(STACK?*S?datatype?*x);???
void?road_line(int?hangint?lie);
//######################################################?main?#
int?main(void)

{
int?selhanglieij;
// int?Maze[hang][lie];
Init_value();
//生成迷宮1隨機(jī)生成2輸入
do{
printf(“\n##########################################“);
printf(“\n#??????????????????走迷宮????????????????#\n#“);
printf(“????????????????????????????????????????#“);
printf(“\n#????根據(jù)提示選擇隨機(jī)或手動(dòng)輸入一迷宮????#\n#“);
printf(“????????????????????????????????????????#“);
printf(“\n#????1?隨機(jī)生成迷宮?2?手動(dòng)輸入迷宮?0?OUT?#\n“);
printf(“?>>“);
scanf(“%d“&sel);
getchar();
while(sel<0||sel>2)
{
printf(“\n!序號(hào)必須是01或2,請(qǐng)重新輸入>>?“);
scanf(“%d“&sel);
getchar();
}
if(sel==1)
{
printf(“\n輸入迷宮的行數(shù)>>“);
scanf(“%d“&hang);

printf(“輸入迷宮的行數(shù)>>“);
scanf(“%d“&lie);
srand((unsigned?int)time(NULL));//用當(dāng)前日歷時(shí)間初始化隨機(jī)數(shù)種子?

for(i=0?;?i {
for(j=0?;?j {
Maze[i+1][j+1]=rand()%2;//如果要取得[ab)之間的“int“數(shù),則?num?=?rand()%(b-a)?+?a;
printf(“%d??“?Maze[i+1][j+1]); //printf(“Ten?random?numbers?from?0?to?1\n\n“);
}???????????????????????????????
printf(“\n“);
}
}
else
{
printf(“\n?????手動(dòng)輸入迷宮\n“);
}


//走迷宮
if(Go(&Maze[0][0]hanglie)==1)
{
printf(“\n走通\n“);
for(i=0;i<=road.top;i++)
printf(“%d%d??“road.data[i].xroad.data[i].y);
printf(“%d%d??“hanglie);
//畫出軌跡路線
road_line(hanglie);
????????
Init_value();
}
else
{
printf(“\n沒走通\n“);
Init_value();
}
}while(sel!=0);//do{};

return?0;
}
/*--------

評(píng)論

共有 條評(píng)論