日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

njust 1927 谁才是最强战舰!(anti-nim博弈论)

發布時間:2025/4/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 njust 1927 谁才是最强战舰!(anti-nim博弈论) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

依阿華來到鎮守府的第一件事情,就是找大和solo!然而這并不是什么好消息,說不定,鎮守府,甚至佐伯灣就這么消失了。。。于是,提督君想了一個簡單的游戲,來分出她們的勝負。游戲規則如下:這里有N堆石子,每堆石子有a[i](1<=i<=N)個,每人輪流從其中的某一堆石子中拿出任意個石子(只能在其中一堆拿,不能不拿),大和先手,誰拿出了最后一個石子,誰輸。若大和必勝,輸出“Yamato_Saikou!”,若依阿華必勝,輸出“Meidikeji_Shijiediyi!”,若兩邊都無法必勝,輸出“Sayonara_Konosekai!”.

Input

第一行輸入一個正整數T(1 <= T <= 1000),表示有T組測試數據。對于每組測試數據:第一行一個正整數,N(N<=1000),表示有N堆石子。第二行N個整數a[i](1<=a[i]<=1000),表示每堆石子的數量。

Output

若大和必勝,輸出“Yamato_Saikou!”,若依阿華必勝,輸出“Meidikeji_Shijiediyi!”,若兩邊都無法必勝,輸出“Sayonara_Konosekai!”.

Sample Input

3 1 5 2 1 231 1 1

Sample Output

Yamato_Saikou! Yamato_Saikou! Meidikeji_Shijiediyi!


這個題是經典的anti-nim模板題

anti-nim說最后一個拿得輸,而nim是最后一個拿得贏



#include <cstdio> #include <cstring>int t, n;bool solve() {scanf("%d", &n);int x, sum = 0, flag = 1;for (int i = 0; i < n; i++) {scanf("%d", &x);if (x > 1) flag = 0;sum ^= x;}if (flag)return n % 2 == 0;elsereturn sum != 0; }int main() {scanf("%d", &t);while (t--) {if (solve()) printf("Yamato_Saikou!\n");else printf("Meidikeji_Shijiediyi!\n");}return 0; }

轉載于:https://www.cnblogs.com/Double-LL/p/6658927.html

總結

以上是生活随笔為你收集整理的njust 1927 谁才是最强战舰!(anti-nim博弈论)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。