BNUOJ 4358 左手定則

2022-08-29 17:51:12 字數 1122 閱讀 5083

描述:

玩過rpg(尤其是國產rpg)的童鞋都應該對迷宮這種神棍的設定深惡痛絕,尤其是當你轉了半小時之後發現回到了原地,這種感覺真是無比的痛苦。。。萬一遊戲還中途崩潰了那真是連掀桌子、砸鍵盤、摔滑鼠的心都有了…… 

經過無數次的trial and error之後,玩家終於下定決心認定迷宮存在的意義就是延長遊戲時間,so,他決定借鑑著名的左手定則(就是在每乙個路口,我們都選擇最左邊的方向,左轉的優先順序最高,其次為向前,最後為右轉,如果實在走進了乙個死胡同,那就連續右轉兩次,回頭向後走。稍微研究一下這種走迷宮的方法,我們就發現在這個過程中,事實上我們的左手可以始終放在牆上。)對迷宮進行探索。 

但是呢,左手定則並不能保證遍歷到迷宮中的每乙個點。悲劇的是,某項重要的通關道具被放在了這個迷宮中……幸運的是,遊戲迷宮的地圖可以繪製出來,現在請求你的幫助。對於乙個給定的地圖,他想知道是不是能夠通過左手定則取得這件道具。 

輸入:多組資料。 

對於每組資料,第一行有兩個整數n,m代表接下來有n行字串,每行m個字元,其中0輸出:

對於每組資料輸出一行。『yes』表示可以到達,『no』表示無法到達。

1 #include2 #include3

using

namespace

std;

4int n,m,sx,sy,v[205][205][4];5

int ss[26],d[4][2]=; //

x和y是哪個要明白....(因為這個wa很多次

6char dir,maze[205][205];7

void trans(int &x,int &y,int dirc,int

dir_to)

11int dfs(int x,int y,int

dirc)21}

22return0;

23}24int

main()25

36 cin>>dir;

37 memset(v,0,sizeof

v);38

if(dfs(sx,sy,ss[dir-'

a'])) printf("

yes\n");

39else printf("

no\n");

40}41 }

BNUOJ 4304 硬幣迷陣

這個迷陣由12個古埃及硬幣構成,形狀如下圖 當我們把所有的硬幣全都翻成正面或全都翻成反面時,我們就可以成功解開這個迷陣。但是這個迷陣有乙個小機關 當我們翻動某乙個硬幣的時候,與它同行或同列的硬幣也將同時被翻動。例如當我們翻動上圖箭頭所指的硬幣之後,迷陣的情況會變成下圖所示 現在prayer希望知道他...

bnuoj 1068 比賽安排

time limit 1000ms case time limit 1000ms memory limit 65536kb 1 每個人每天最多只能參加一場比賽,可以不參加。2 在大賽結束後,任意兩人間都恰好進行了一場對決。由於時間有限,我們希望比賽天數盡可能少,請聰明的你幫忙給出對陣方案。輸入第一行...

435 無重疊區間

題目描述 給定乙個區間的集合,找到需要移除區間的最小數量,使剩餘區間互不重疊。注意 可以認為區間的終點總是大於它的起點。區間 1,2 和 2,3 的邊界相互 接觸 但沒有相互重疊。示例 1 輸入 1,2 2,3 3,4 1,3 輸出 1 解釋 移除 1,3 後,剩下的區間沒有重疊。示例 2 輸入 1...