HAUTOJ 1280 詭異的迷宮

2021-08-06 05:30:15 字數 1226 閱讀 8724

時間限制: 2 秒  記憶體限制: 128 mb

提交: 167  解決: 24

題目描述

******最近刷題(打遊戲)刷多了,一覺醒來發現自己到了乙個迷宮裡,怎麼也出不去了。這時傳來了一句話,告訴******必須按順序收集完所有的寶石,才能出迷宮。所謂的順序,就是按照每塊寶石上英文本母的順序。迷宮裡面還有一些傳送門,可以傳送到任意乙個另外的傳送門的位置。(你走到乙個不是空地上的地方的時候,就一定會觸發相應事件,不可拒絕,從乙個傳送門傳送到另乙個傳送門不用再次傳送)。每走一步花費乙個單位時間,傳送門到另外乙個傳送門不需要時間。******初始就在字母為a的寶石的位置上(開局一寶石,其他全靠找)。

當******收集完所有寶石的時候就被傳送出迷宮。

******還要趕回去刷題(打遊戲),你們能告訴他最少需要多長時間才能回去嗎?如果不可能出去就輸出impossible。 輸入

多組例項,每組輸入乙個n,表示迷宮的大小為n*n  (n <= 10)

下面n行每行n個字元 

'.'表示空地,

'#'表示牆,不可以通過

'$'表示乙個傳送門

大寫字母表示寶石 輸出

每個例項輸出乙個數字,表示最少需要的時間,如果不能逃出迷宮,就輸出impossible。

樣例輸入

5

a....

####.

..b..

.####

c.de.2ac

.b 2a#

#b3a$....

.$b

樣例輸出

15

3impossible

2

**:

#include#include#include#include#include#includeusing namespace std;

int n,cnt_let,cnt_tra;

char map[15][15];

int dir[4][2]=;

int vis[15][15];

struct datap,news;

struct trantran[105];

void bfs(int x0,int y0)

for(int i=0;i<4;i++)

//有傳送門

if(map[x][y]=='$')

}} bfs(x0,y0);

} return 0;

}

HAUTOJ奇數最大子段和

題目描述 乙個大小為n的陣列a1到an 10 4 ai 10 4 請你找出乙個連續子段,使子段長度為奇數,且子段和最大。輸入 第一行為t 1 t 5 代表資料組數。之後每組資料,第一行為n 1 n 10 5 代表陣列長度。之後一行n個數,代表a1到an。輸出 每組資料輸出一行,表示滿足要求的子段和最...

HAUTOJ 1070 小汽車的位置

題目描述 有一輛智慧型小車,最初 時間為0 的位置為 0,0 我們想知道它最後的位置。小車以每小時10公里的速度向北移動 以北為y軸正向,以東為x軸正向 小車會受到一系列依照時間戳記排序的命令,1表示 向左轉 2表示 向右轉 3表 停止 每個命令的前面有乙個時間戳記,所以我們知道該命令是何時發出的。...

HAUTOJ 1268 小天使改名

題目描述 小天使的b站帳號被大家發現啦。於是小天使決定改名,將他原有id中的兩個不同位置的字母進行交換。小天使有可能將兩個不同位置的相同字母進行交換,雖然這樣做他的id並沒有發生變化 lsf知道小天使原來的id,他想知道某個id是否可能是小天使的新id。輸入 第一行為資料組數t t 100 每組資料...