2016年2月25日 星期四

[HOJ 294][Codeforces #192]The Evil Temple and the Moving Rocks (題目備份)

HOJ生病惹QQ,因此在此悼念昔日光彩
題目備份,請參考~
題解在這裡
敬告:目前HOJ主機也許進入瀕死狀態了,常常無預警跳電。請看到這則公告的人能注意備份自己的資料,感謝。
至於主機壞掉以後會如何目前並沒有任何規劃.. 
Submit  Ranklist

Problem : 294 - The Evil Temple and the Moving Rocks

Special Judge

Problem Statistics
Solved Member: 15  Submission: 81  User Tried: 18
Problem:
hh是一個神祕的龍使,在hh奮力的殺了幾隻弱弱的小怪後,抵達了一個四周都是牆壁,由 N x N 塊磁磚所構成的房間,裡面空無一物。

此時hh發現牆上寫著:要抵達下一個房間,你就必須依靠石頭所發出的聲音!

做為一個優秀的龍使,hh馬上就知道該如何處理這種狀況,hh有4種石頭:

  •'^': 這種石頭只會往上移動。
  •'<': 這種石頭只會往左移動。
  •'>': 這種石頭只會往右移動。
  •'v': 這種石頭只會左下移動。

由於hh非常厲害,所以他的包包中裝了無限顆的這些石頭,為了抵達下個房間,hh必須在一些磁磚上放上石頭(每個磁磚上只能放一顆石頭,否則房間會爆炸!),然後hh會使用魔法讓一顆石頭產生魔法能量,此時這顆石頭會依據自己的種類移動一格,並消耗掉 1 單位的魔力,直到撞到另一顆石頭或牆壁才停止(若一開始障礙已在他面前,這顆石頭並不會移動,撞到的同時也會消耗 1 單位的魔力)。接下來這顆石頭將停止移動,若他撞到的是牆壁,或者魔力的總消耗超過107,hh將再也無法驅使他移動;反之魔法能量將會全部傳遞給撞到的石頭,使他移動,並重複著上述的動作。

當石頭已移動了一格以上才撞到障礙,便會發出一個聲響,當產生了至少 x 個聲響時,下一個房間的房門就會出現,此時的石頭仍會繼續移動直到撞到牆壁或hh魔力耗盡,然後hh才會前往下個房間。

以下會告訴你發出聲響與不發出聲響的情況。

因為在撞到另一顆石頭前已經移動1格以上,所以會發出聲響。


因為在撞到牆壁前已經移動1格以上,所以會發出聲響。


因為在撞到另一顆石頭前沒有移動任何一格,所以不發出聲響。


因為在撞到牆壁前沒有移動任何一格,所以不發出聲響。


告訴你 N 與 x ,請你幫助hh選擇石頭該如何放置吧!
Input:
依序會有以下4筆測試資料:

  • N=3, x=2
  • N=5, x=5
  • N=90, x=81000
  • N=100, x=100000

其中第一筆是Sample。
Output:
輸出 N 行,每行 N 個字元,第i行的第j個字元表示該磁磚的狀態,必須剛好是以下五種字元的一種:

  •'^', '<', '>', 或 'v': 表示此磁磚上存在其中的一種石頭。
  •'.': 表示此磁磚上沒有石頭。

然後輸出兩個數字r c (1 ≤ r, c ≤ N),表示hh一開始必須用魔力驅使哪一顆石頭移動,注意,此格必須一定要有石頭。

若有多組解法,輸出任意一組即可。
Sample Input:
3 2
Sample Output:
>vv
^<.
^.<
1 3
HINT:
關於Sample:


sound 0


sound 1


sound 2

接下來會產生無限循環直到總魔力消耗了107才停止,且這些移動不會發出聲響。


最後停止時剛好有兩聲,是一組解喔!
Source:
Codeforces #192
Problem Setter
hanhan0912
Testdata:
TestTimeMemoryScore
01000ms262144kb
11000ms262144kb20
21000ms262144kb40
31000ms262144kb40

沒有留言:

張貼留言

歡迎留言或問問題~
若您的留言中包含程式碼,請參考這篇
如果留言不見了請別慌,那是因為被google誤判成垃圾留言,小莫會盡快將其手動還原