include
int lastOdd(int p, int n){
for (int i = 0; i < n; i++)
{
if ((p + i) == 1)
{
return i;
}
}
}
void turnStaus(int p, int n, int index){
for (int i = index; i < n; i++)
{
if ((p + i))
{
*(p + i) = 0;
}
else{
*(p + i) = 1;
}
}
}
int main(){
int n;
int s = 0, name = 0;
scanf("%d", &n);
int *b = (int )malloc(sizeof(int)n);
for (int i = 0; i < n; i++)
{
scanf("%d", b + i);
}
while (true)
{
s = 0;
for (int i = 0; i < n; i++)
{
s += *(b + i);
}
if (s == 0)
{
if (name)
{
printf("%s", "Alice");
}
else{
printf("%s", "Bob");
}
break;
}
name = name ? 0 : 1;
int x = lastOdd(b, n);
turnStaus(b, n, x);
}
free(b);
return 0;
}
时间: 2024-11-10 11:51:28