alice和bob有n桶石子,裡面有ai個,他們每次只能其中一某堆裡取奇數個,不能拿的人輸,alice總是先拿
1<=n<=200,1<=ai<=1e9
input
第一行為 n
第二行為 n個數 ai
output
最後獲勝的人alice或bob
sample input
33 2 1
sample output
bob
#include #include#include #include #include #include #include #include #include #include #include #include //#include using namespace std;typedef long long ll;
const int n=4e5+7;
const int mod=1e9+7;
inline ll read()
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}int main()
if(ans%2==0)
cout<<"bob"
cout<<"alice"<}
return 0;
}
取石子遊戲與SG函式
題目 題意 有3堆石子,石子數量分別為a,b,c,有兩個玩家,每次只能從任意一堆中取f個,這裡的f只能為fibnacci數,問是先手 勝 還是先手敗.分析 由於石子的數量都在1000以內,那麼我們可以先預處理出1000以內的sg函式值,然後對於3堆石子,我們進行異或,如果為 0說明先手必敗,否則必勝...
BZOJ 3895 取石子 SG函式 搜尋
有n堆石子 從某堆石子中取走乙個 合併任意兩堆石子 不能操作的人輸。100 的資料滿足t 100,n 50.ai 1000 容易發現基礎運算元 d sum a i n 1 沒有個數為1的堆還好說,有的話 好麻煩啊啊啊啊啊怎麼可能找規律 然後看題解,woc記憶化搜尋 f i,j 表示i個個數為1的堆,...
石子遊戲 SG函式
problem description alice 和 bob 總喜歡聚在一起玩遊戲 t t 今天他 她 們玩的是一款新型的取石子遊戲。遊戲一開始有n堆石子,alice 和 bob 輪流取出石子。在每次操作中,遊戲者必須選擇其中的一堆石子,並作出下列的其中一種操作 1 移去整堆石子 2 假設石子堆中...