贊迪卡之聲妮莎與奧札奇
奧札奇軍團降臨!贊迪卡陷入危機!無盡輪迴鎢拉莫和真理屠夫寇基雷帶領著這群龐大的掠食者在贊迪卡肆意破壞。旅法師妮莎瑞文必須要阻止這一切。 在贊迪卡時空的一角,有 n 個寇族的部落。為了抵禦奧札奇的進攻,這些部落之間聯絡密切。在任意兩個部落之間都有一條直接道路相連線。換句話說,這 n 個部落與若干條道路構成了一張完全圖。 現在,奧札奇軍團已經佔領了 1 號寇族部落並停留在此處。而鎢拉莫與寇基雷兩王卻開始了遊戲(伊莫庫大姐快來管管)。遊戲的規則是這樣的:鎢拉莫與寇基雷兩王輪流帶領奧札奇軍團移動一次。每次可以從一個寇族部落通過一條未被腐蝕的道路移動到另一個寇族部落。任何移動必須在這 n 個寇族部落及其道路中進行。由於奧札奇對法術力的吞噬,奧札奇軍團行經的道路都會被腐蝕。最後,在規則的限制下,奧札奇軍團將無路可走。此時,將帶領軍團進行下一步移動的奧札奇之王將輸掉這個遊戲。鎢拉莫先手。 鎢拉莫與寇基雷作為奧札奇三祖中的兩者,自然擁有超高的智力。所以你可以認為,他們都將以最優決策進行遊戲。 遊戲的贏家將率領軍隊與妮莎作戰,而妮莎還在趕來的路上。所以請你先觀察這個遊戲,到時便可以告訴妮莎誰會是她的對手。
輸入描述:
本題有多組測試資料。
第一行一個正整數 T ,表示資料組數。
接下去 T 行,每行一個數 n ,表示寇族部落的個數。
輸出描述:
輸出共 T 行,每行一個字串 “Ulamog, the Infinite Gyre” 或 “Kozilek, Butcher of Truth” 表示勝利者(去掉括號)。前者為無盡輪迴鎢拉莫,後者為真理屠夫寇基雷。
示例1
輸入
複製
2
1
3
輸出
複製
Kozilek, Butcher of Truth
Ulamog, the Infinite Gyre
說明
- 當 n=3 時,鎢拉莫可以率領軍團從 1 走到 2 ,之後 的邊不能再走了。- 下一步寇基雷只能帶領軍團移動至 3 ,之後 的邊不能再走了。- 最後鎢拉莫只要將軍團移回 1 ,寇基雷就無路可走了。
備註:
1 ≤ T ≤ 2000
1 ≤ n ≤ 2000
不懂,以後再說,別人的程式碼:
#include<iostream>#include<cstdio>#include<cstring>#include<queue>const int maxn=1e6+7;using namespace std; int main(){ int t; cin>>t; while(t--){ int k; cin>>k; if(k==1) cout<<"Kozilek, Butcher of Truth"<<endl; else cout<<"Ulamog, the Infinite Gyre"<<endl; } return 0;}