您的位置:首页 > 其它

HDU 4315 Climbing the Hill [阶梯Nim]

2017-03-14 23:13 197 查看
传送门

题意:



和上题基本一样;山顶可以有多人,谁先把king放到山顶谁就胜

并不太明白

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
typedef long long ll;
const int N=1005;
inline int read(){
char c=getchar();int x=0,f=1;
while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
return x*f;
}

int n,k,a
;
int main(){
//freopen("in","r",stdin);
while(scanf("%d%d",&n,&k)!=EOF){
for(int i=1;i<=n;i++) a[i]=read();
if(k==1) {puts("Alice");continue;}
int sg=0;
if(k!=2) a[0]=-1;
else a[0]=0;
for(int i=n;i>=1;i-=2) sg^= a[i]-a[i-1]-1;
puts(sg ? "Alice" : "Bob");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: