基準時間限制:1 秒 空間限制:131072 kb 分值: 160 難度:6級演算法題 收藏 關注
有n個城市,第i個城市有ai個人。daenerys和stannis是兩個惡魔。他們在玩乙個遊戲,他們輪流去破壞城市。每一輪破壞乙個城市並殺光裡面所有的人。直到剩下k個城市為止。
如果最後剩下的總人數是偶數那麼daenerys獲得勝利,否則stannis獲得勝利。
現在給定乙個局面,要求你來判斷一下誰會贏,stannis先出手。
input
單組測試資料。
第一行包含兩個整數n,k (1 ≤ k ≤ n ≤ 2*10^5)表示剛開始的城市數目和最後剩下的城市數目。
第二行有n個整數a1,a2,a3,…,an。 (1 ≤ ai ≤ 10^6),表示每個城市裡面的人數。
output
對於每一組資料輸出勝者。
input示例
3 1
1 2 1
3 1
2 2 1
output示例
stannis
daenerys
/*
博弈.具體討論第k+1個是誰取的.
n==k的時候特判一下.
否則算出每個人的可操作次數.
然後討論就好.
*/#include
#include
#define maxn 10001
using
namespace
std;
int n,k,num1,num0,k0,k1;
int main()
if(n==k)
k1=(n-k+1)/2;
k0=n-k-k1;
if(num1<=k0) printf("daenerys\n");
else
if(num0<=k0&&(num1-num0)&1&&k0!=k1)
else
if(num0<=k0&&(num1-num0)%2==0&&k1==k0)
else
if(num0>k0&&num1>k0&&k1==k0)
else
}return
0;}
51nod 1430 奇偶遊戲
設a aa表示先手總共取的個數,sod ds sodd 表示奇數項的數目,sev en s se ven 表示偶數項的數目。首先我們分析後手取的個數亦為a aa,即n k n kn k為偶數的情況 注意到若後手取最後乙個時,sod d,se ve n 0s s 0 sodd seve n 0,則後手...
51 nod 1069 Nim遊戲(博弈)
1069 nim遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 有n堆石子。a b兩個人輪流拿,a先拿。每次只能從一堆中取若干個,可將一堆全取走,但不可不取,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n及每堆石子的數量,問最後誰...
51nod 1066 Bash遊戲 博弈
1066 bash遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 有一堆石子共有n個。a b兩個人輪流拿,a先拿。每次最少拿1顆,最多拿k顆,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n和k,問最後誰能贏得比賽。例如n 3,k ...