題意:經典Nim博弈游戲變換,給你n堆石子pi,每堆有pi個石子,
Alice和Bob輪流取石子,每次可以從任意一堆中拿走任意個石子,也可以將某一堆石子分成兩個小堆
(每堆石子個數必須不能為0),先拿完者獲勝
思路:求SG函數後找規律;
SG函數定義及求法:點擊打開鏈接
#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF 1e8 #define eps 1e-8 #define LL long long #define maxn 1000001 #define PI acos(-1.0) int sg[maxn],vis[maxn]; void SG() { sg[0]=0; sg[1]=1; for(int i=2;i<100;i++) { memset(vis,0,sizeof(vis)); for(int j=i-1;j>=0;j--) { vis[sg[j]]=1; } for(int j=1;j
《C++ Primer 4th》讀書筆記 第7章-函數,py
此博文主要講述了構造二叉樹的兩種方法: 1、通過先序和
bzoj 3224/Tyvj 1728 普通平衡樹,bzoj
我看的兩本教科書(《數據結構(C語言版)》還有這
題目如下: S-Trees
ZOJ 2476 Total Amount 題意: 比較