题目
翻译
主要思路
举个例子方便理解
以奇数为底去分解一个奇数,分解次数一定是奇数;以奇数为底去分解一个偶数,分解次数一定是偶数
如果一个堆的分解次数是奇数,就在总分解次数上加1;如果一个堆的分解次数是偶数,分解次数加2
总分解次数如果是奇数,先取的人获胜;总分解次数如果是偶数,后取的人获胜
第一次写错误
代码
#include <bits/stdc++.h>
using namespace std;
int main() {int n, k;scanf("%d %d", &n, &k);int totalNums = 0; for(int i = 0; i < n; i++) {int data;scanf("%d", &data);if(data % 2 == 0) {totalNums += 2;} else {totalNums += 1;}}if(totalNums % 2 == 0) {printf("Bob\n");} else {printf("Alice\n");}return 0;
}