内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

蛇跟樓梯(BFS)-創(chuàng)新互聯(lián)

樣例輸入:蛇跟樓梯(BFS)

2   // 測(cè)試數(shù)據(jù)個(gè)數(shù)

目前創(chuàng)新互聯(lián)建站已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、五通橋網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

6 1 3 // 棋盤大小 蛇的個(gè)數(shù) 梯子個(gè)數(shù)

35 25  // 蛇的起始位置(蛇頭) 蛇的終止位置(蛇尾)

3 23 5 16 20 33 梯子起始位置(梯子底部) 梯子終止位置(頂部)

樣例輸出:

3

#include <cstdio>
#include<cstring>
#define NMAX  20
#define SLMAX 200

struct SnakeAndLadder  //蛇和梯子{
int from, to;  //起止位置};

int main( )
{
int D;   //測(cè)試數(shù)據(jù)的個(gè)數(shù)  int N, S, L; //每個(gè)測(cè)試數(shù)據(jù)中的N、S、L:棋盤規(guī)模、蛇和梯子數(shù)目  int grid[ NMAX*NMAX+1 ];  //棋盤(序號(hào)從1開始計(jì))
//備份上一次棋盤狀態(tài)(序號(hào)從1開始計(jì))  int gridbak[ NMAX*NMAX+1 ];
    SnakeAndLadder obstacle[2*SLMAX ];  //障礙物,包括梯子和蛇  int i, j, k, m;  //循環(huán)變量  int step;  //投骰子的數(shù)目  int deal;  //如果落腳處是蛇(懲罰)首部或梯子(獎(jiǎng)勵(lì))底部,則deal為1    
    scanf("%d", &D );

for( i=0; i<D; i++ )  //處理每個(gè)測(cè)試數(shù)據(jù)    {
        scanf("%d%d%d", &N, &S, &L );
for( j=0; j<S+L; j++ )
            scanf("%d%d", &obstacle[j].from, &obstacle[j].to );        
        memset( grid,0, sizeof(grid) );  grid[1] = 1;  //初始化狀態(tài)數(shù)組        step = 0;  //初始化骰子數(shù)目
//只要第N^2個(gè)方格沒有擴(kuò)展為1,則繼續(xù)按BFS進(jìn)行擴(kuò)展   while( grid[N*N]==0 )
        {
            memcpy( gridbak, grid,sizeof(grid) );//備份上一步棋盤狀態(tài)
//grid[ ]數(shù)組用來保存在上一步棋盤狀態(tài)(graibak[ ])下進(jìn)行擴(kuò)展后的狀態(tài)            memset( grid, 0, sizeof(grid) );
//搜索所有的格子,最后一格不用搜索,因?yàn)樵谒阉鬟^程結(jié)束前它一定為0 for( j=1; j<=N*N-1; j++ )
            {
if( gridbak[j]==0 )  //若在上一步無(wú)法到達(dá)此格則跳過   continue;
//考慮點(diǎn)數(shù)1~6,走該點(diǎn)數(shù)步數(shù)后到達(dá)j+k位置  for( k=1; k<=6; k++ )
                {
                    deal= 0;
if( j+k>N*N )break;
for( m=0; m<S+L; m++ )
                    {
//如果j+k位置是某個(gè)蛇(或梯子)的起始位置
//則沿著它到達(dá)終止位置 if( obstacle[m].from==j+k )
                        {
                            grid[ obstacle[m].to ]= 1;  deal = 1;
break;  //j+k位置上最多只有
//一個(gè)蛇(或梯子)的起止位置                        }
                    }
//不利用蛇或梯子   if( deal==0 && grid[j+k]==0 )  grid[j+k] = 1;
                }
            }
            step++;  //骰子數(shù)加一        }
        printf("%d
", step );
    }
return 0;
}

當(dāng)前標(biāo)題:蛇跟樓梯(BFS)-創(chuàng)新互聯(lián)
標(biāo)題URL:http://m.rwnh.cn/article2/dddcoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作網(wǎng)站改版、定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
诸暨市| 紫金县| 休宁县| 孝感市| 祁阳县| 禄劝| 虞城县| 吴江市| 曲阜市| 郑州市| 海口市| 闽清县| 肇源县| 泽州县| 台东市| 巴林右旗| 日喀则市| 阳谷县| 溧阳市| 五原县| 达孜县| 湘西| 左贡县| 西宁市| 开封市| 鲁甸县| 藁城市| 渭源县| 偏关县| 太湖县| 沈阳市| 尖扎县| 英德市| 额济纳旗| 平定县| 理塘县| 资源县| 平定县| 锦州市| 晋城| 东兴市|