回分類題庫
h066: C.矢量星球
關鍵字: NPSC 2009 高中組決賽

測資點 : 2 | Time Limit : 10000 ms | Memory Limit : 128000 KB
Accepted : 12 Times / 12 Users | Submit : 39 Times / 13 Users | Accepted rate : 92%
題目加入時間 : 2012-11-04 02:11

Content: 简体中文

我們現在都生活在三維的世界裡,對更高維度的東西總是難以想像。但是在矢量星球中,他們的世界是個 n 個維度的空間。在這空間中,有種叫矢量的東西。它是一個 n-序對,代表一個點相對於星球中心的位置。

羅敷跟小瀠是矢量星球上的好朋友,他們最喜歡玩的遊戲就是「Orthogonoal Family」,這個遊戲要怎麼玩呢?規則如下:

因為羅敷年紀比較小,所以從羅敷開始。接下來小瀠跟羅敷輪流做以下事情。
畫一條矢量 v=(v1 , v2 , v3 , … , vn)。

檢查是否搷之前畫的矢量都垂直。如果是的話,就繼續。不然畫的那個人就輸了。然而,他們已經大戰幾百回合,卻無法檢查是否遊戲已經結束了。看來檢查垂直這件事情似乎沒有這麼容易,因此她們想要請你寫一支程式幫忙。

兩條矢量 u,v 垂直,若寫成 v=(v1 , v2 , v3 , … , vn), u=(u1 , u2 , u3 , … , un), v1*u1+ v2*u2+ …vn*un=0。

給你他們玩樂的紀錄,你要決定遊戲的結果。

Input:

每一組遊戲由兩個整數 n, m 開頭的一行,代表在 n 維度的空間 ( 0 < n < 100000 ),已經玩了 m 個回合。( 0 < m < 500 )。接下來是 m 行,每一行都由一個整數 k ( 0 < k < 1000 ) 代表這條線 v 表成 ( v1, v2, v3, …, vn ) 有幾個 vi 非零,接下來會
依序給予空白分開之整數對 "i:d" 代表 vi=d。( 0 < i <= n, d=1 或 -1 ) 一行中,後面的 i 一定比前面的大。
n=m=0,代表輸入結束。

Output:

如果羅敷已經贏了,就印出一行 Rofu;如果小瀠已經贏了就印出一行 Yin;
如果還無法決定,就印出一行 Hakuna matata。

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
100 4
5 1:1 2:-1 3:1 4:1 5:1
2 1:1 2:1
1 6:1
1 7:-1
2 2
1 1:1
1 1:1
0 0

Sample Output :

Hakuna matata
Rofu

Hint :

Author :

NPSC 2009 高中組決賽 (管理員:sagit)

  Solve it!   Status Forum