兩隻牛逃跑到了森林裡。農夫john開始用他的專家技術追捕這兩頭牛。你的任務是模擬他們的行為(牛和john)。
追擊在10x10的平面網格內進行。乙個格仔可以是:
乙個障礙物, 兩頭牛(它們總在一起), 或者 農民john. 兩頭牛和農民john可以在同乙個格仔內(當他們相遇時),但是他們都不能進入有障礙的格仔。
乙個格仔可以是:
. 空地這裡有乙個地圖的例子:* 障礙物
c 兩頭牛
f 農民john
*...*.....牛在地圖裡以固定的方式遊蕩。每分鐘,它們可以向前移動或是轉彎。如果前方無障礙(地圖邊沿也是障礙),它們會按照原來的方向前進一步。否則它們會用這一分鐘順時針轉90度。 同時,它們不會離開地圖。......*...
...*...*..
..........
...*.f....
*.....*...
...*......
..c......*
...*.*....
.*.*......
農民john深知牛的移動方法,他也這麼移動。
每次(每分鐘)農民john和兩頭牛的移動是同時的。如果他們在移動的時候穿過對方,但是沒有在同一格相遇,我們不認為他們相遇了。當他們在某分鐘末在某格仔相遇,那麼追捕結束。
讀入十行表示農夫john,兩頭牛和所有障礙的位置的地圖。每行都只包含10個字元,表示的含義和上面所說的相同,你可以確定地圖中只有乙個'f'和乙個'c'.'f'和'c'一開始不會處於同乙個格仔中。
計算農夫john需要多少分鐘來抓住他的牛,假設牛和農夫john一開始的行動方向都是正北(即上)。 如果john和牛永遠不會相遇,輸出0。
program name: ttwo
第1-10行:
每行10個字元,表示如上文描述的地圖。
輸出乙個數字,表示john需要多少時間才能抓住牛們。如果john無法抓住牛,則輸出0。
直接模擬,注意判重。
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7const
int maxn=20+10;8
using
namespace
std;
9struct
node
10f,c;
14int
map[maxn][maxn];
15int vis[15][15][9][15][15][9
];16
int dx=,dy=;
1718
void move(node &t,int d)
19int
work();
20void check(node &t);//
如果改變過方向就返回1
21int
main()
22//
約翰起點
36if (temp=='
c') //
奶牛起點 37}
38 getchar();//
注意讀取換行符 39}
40 printf("%d"
,work());
41return0;
42}43int
work()
4456}57
void check(node &t)//
是否改變了方向
5867 }
兩隻巨無霸
兩隻巨無霸 左直拳有一次老總請我們幾個到麥當勞吃中午飯,吃完後又讓我們打包兩份回去給還在公司奮鬥的同事。買什麼呢?買兩個巨無霸吧 老總說。呵呵 兩個巨無霸 有個同事忍不住笑起來。我轉頭望了他一眼,赫然發現他正樂不可支,大張著嘴,兩隻鑲上去的門牙碩大無朋,跟周邊的牙齒形成鮮明的對照,牙根處依稀還有些銅...
《兩隻老虎》觀影筆記
不想評價電影的好壞,講講情節好了 印象最深的一句台詞 人生就乙個字 得過且過 感覺是張成功自己希望自己得過且過但是他沒做到,他很自卑吧,無論是對周原,對戰友老范還是對自己父親跳崖的事情,他年過半百事業有成,但是有些事情不是錢能解決的,而余凱旋似乎就是張成功的分身,幫助張成功去面對自己內心深處最不敢面...
人生不能同時追趕兩隻兔子
人生不能同時追趕兩隻兔子 獵人追趕兔子時,如果同時出現兩隻兔子,必定捨棄其中的乙隻,而瞄準另外乙隻窮追不捨,定能捕捉成功。倘若想同時追趕兩隻,跟著兩隻兔子東奔西突,結果肯定是白費力氣,一無所獲,空手而歸。由此聯想,人生的追求何嘗不是如此。人生奮鬥目標如果有多重選擇,必定會分散精力,結果一事無成。假如...