HDU 4315 Climbing the Hill [阶梯Nim]

时间:2023-04-28 22:10:32

传送门

题意:

HDU 4315 Climbing the Hill [阶梯Nim]

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


并不太明白

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
typedef long long ll;
const int N=;
inline int read(){
char c=getchar();int x=,f=;
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
} int n,k,a[N];
int main(){
//freopen("in","r",stdin);
while(scanf("%d%d",&n,&k)!=EOF){
for(int i=;i<=n;i++) a[i]=read();
if(k==) {puts("Alice");continue;}
int sg=;
if(k!=) a[]=-;
else a[]=;
for(int i=n;i>=;i-=) sg^= a[i]-a[i-]-;
puts(sg ? "Alice" : "Bob");
}
}