USACO 2 4 1 兩隻塔姆沃斯牛

2022-05-27 17:15:19 字數 1754 閱讀 1690

兩隻牛逃跑到了森林裡。農夫john開始用他的專家技術追捕這兩頭牛。你的任務是模擬他們的行為(牛和john)。

追擊在10x10的平面網格內進行。乙個格仔可以是:

乙個障礙物, 兩頭牛(它們總在一起), 或者 農民john. 兩頭牛和農民john可以在同乙個格仔內(當他們相遇時),但是他們都不能進入有障礙的格仔。

乙個格仔可以是:

. 空地 

* 障礙物

c 兩頭牛

f 農民john

這裡有乙個地圖的例子:

*...*.....

......*...

...*...*..

..........

...*.f....

*.....*...

...*......

..c......*

...*.*....

.*.*......

牛在地圖裡以固定的方式遊蕩。每分鐘,它們可以向前移動或是轉彎。如果前方無障礙(地圖邊沿也是障礙),它們會按照原來的方向前進一步。否則它們會用這一分鐘順時針轉90度。 同時,它們不會離開地圖。

農民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 7

const

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 }

兩隻巨無霸

兩隻巨無霸 左直拳有一次老總請我們幾個到麥當勞吃中午飯,吃完後又讓我們打包兩份回去給還在公司奮鬥的同事。買什麼呢?買兩個巨無霸吧 老總說。呵呵 兩個巨無霸 有個同事忍不住笑起來。我轉頭望了他一眼,赫然發現他正樂不可支,大張著嘴,兩隻鑲上去的門牙碩大無朋,跟周邊的牙齒形成鮮明的對照,牙根處依稀還有些銅...

《兩隻老虎》觀影筆記

不想評價電影的好壞,講講情節好了 印象最深的一句台詞 人生就乙個字 得過且過 感覺是張成功自己希望自己得過且過但是他沒做到,他很自卑吧,無論是對周原,對戰友老范還是對自己父親跳崖的事情,他年過半百事業有成,但是有些事情不是錢能解決的,而余凱旋似乎就是張成功的分身,幫助張成功去面對自己內心深處最不敢面...

人生不能同時追趕兩隻兔子

人生不能同時追趕兩隻兔子 獵人追趕兔子時,如果同時出現兩隻兔子,必定捨棄其中的乙隻,而瞄準另外乙隻窮追不捨,定能捕捉成功。倘若想同時追趕兩隻,跟著兩隻兔子東奔西突,結果肯定是白費力氣,一無所獲,空手而歸。由此聯想,人生的追求何嘗不是如此。人生奮鬥目標如果有多重選擇,必定會分散精力,結果一事無成。假如...