天花板編程手把手計劃-第1期-第2天

題目:

maze.png

如圖所示,有一個6 * 6的迷宮,左上角為入口抱完,右下角為出口醉锅。圖中0的位置可以走宫仗,1的位置不能走。請編程找出唯一的一條通過迷宮的路。

解題思路:

1.初始化迷宮:(對二維數(shù)組)首先在首尾行各加一行‘1’,首尾列各加兩列‘1’(目的為了后面函數(shù)四個方向判斷時可以將每個數(shù)都用一般情況處理)
2.函數(shù)設(shè)計:
使用遞歸汰瘫,對每個數(shù)進行判斷。通過循環(huán)擂煞,如果i,j能變到6,6混弥,則成功找到路徑,否則沒有对省。其中蝗拿,當(dāng)走到每條死路時,值變?yōu)?再調(diào)回蒿涎;正確路徑則變?yōu)?1蛹磺;返回success
3.主函數(shù):輸出二維數(shù)組,但用特殊符號顯示迷宮
4.對是否找到路徑進行判斷同仆;如果有則用控制輸出迷宮,對其中不同值進行不同符號輸出裙品,顯示路徑

源碼:

#include<stdio.h>

int visit(int i,int j);

int success=0;
int startI=1,startJ=1;
int endI=6,endJ=6;
int maze[8][8]=
    {
        {1,1,1,1,1,1,1,1},
        {1,0,1,0,1,1,1,1},
        {1,0,0,0,1,0,1,1},
        {1,0,1,1,0,0,0,1},
        {1,0,1,1,0,1,0,1},
        {1,0,0,0,0,1,0,1},
        {1,0,1,0,1,1,0,1},
        {1,1,1,1,1,1,1,1},
    };


void main()
{
    int i,j;
    printf("\n顯示迷宮:\n");//顯示迷宮
    for(i=0;i<8;i++)
    {
        for(j=0;j<8;j++)
        {
            if(maze[i][j]==1)  //值為1時設(shè)置為障礙
                printf("█");
                if(maze[i][j]==0)  //值為0時俗批,可以通過
                    printf("  ");
        }
        printf("\n");
    }
    //調(diào)用函數(shù)俗或,判斷是否找到路徑
    if(visit(startI,startJ)==0)
    {
        printf("\n沒有出口\n");
    }
    else
    {
        printf("\n顯示路徑:\n");  //如果找到則顯示路徑
        for(i=0;i<8;i++)
        {
            for(j=0;j<8;j++)
            {
                if(maze[i][j] == 1)         
                    printf("█");
                else 
                    if(maze[i][j] == -1)
                    printf("◇");
                    else
                    printf("  ");
                
            }
                    
            
            printf("\n");
        }
    }
    

    

}

int visit(int i, int j)
{
    maze[i][j] = -1;                        
    if(i == endI && j == endJ)  //如果能到達出口,返回ture
    {               
        success = 1;
    }
    if(success != 1 && maze[i][j+1] == 0)   //判斷右側(cè)是否為0
        visit(i, j+1);
    if(success != 1 && maze[i+1][j] == 0)   //判斷下側(cè)是否為0
        visit(i+1, j);
    if(success != 1 && maze[i][j-1] == 0)   //判斷左側(cè)是否為0
        visit(i, j-1);
    if(success != 1 && maze[i-1][j] == 0)   //判斷上側(cè)是否為0
        visit(i-1, j);

    if(success != 1)
        maze[i][j] = 0;

    return success;
}

執(zhí)行結(jié)果:

maze.jpg

總結(jié):

1.首先拿到題沒思路岁忘,問題歸結(jié)練習(xí)少了
2.有了思路后辛慰,但是代碼還是無法實現(xiàn)。以上用的遞歸干像,但自己也不能運用帅腌,只會單純的公式遞歸,說明自己的遞歸有問題麻汰。問題為遞歸做少了速客,但最大的問題在于對遞歸的理解不到位,導(dǎo)致有思路但是回到代碼也無法下手
3.代碼實現(xiàn)能力有待增強

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末五鲫,一起剝皮案震驚了整個濱河市溺职,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌位喂,老刑警劉巖浪耘,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異塑崖,居然都是意外死亡七冲,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門规婆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來澜躺,“玉大人,你說我怎么就攤上這事聋呢∶缱伲” “怎么了?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵削锰,是天一觀的道長通铲。 經(jīng)常有香客問我,道長器贩,這世上最難降的妖魔是什么颅夺? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮蛹稍,結(jié)果婚禮上吧黄,老公的妹妹穿的比我還像新娘。我一直安慰自己唆姐,他們只是感情好拗慨,可當(dāng)我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般赵抢。 火紅的嫁衣襯著肌膚如雪剧蹂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天烦却,我揣著相機與錄音宠叼,去河邊找鬼。 笑死其爵,一個胖子當(dāng)著我的面吹牛冒冬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播摩渺,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼简烤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了证逻?” 一聲冷哼從身側(cè)響起乐埠,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎囚企,沒想到半個月后丈咐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡龙宏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年棵逊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片银酗。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡辆影,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出黍特,到底是詐尸還是另有隱情蛙讥,我是刑警寧澤,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布灭衷,位于F島的核電站次慢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏翔曲。R本人自食惡果不足惜迫像,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望瞳遍。 院中可真熱鬧闻妓,春花似錦、人聲如沸掠械。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至犁功,卻和暖如春氓轰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背浸卦。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留案糙,地道東北人限嫌。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像时捌,于是被迫代替她去往敵國和親怒医。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容