https://www.hackerrank.com/contests/w7/challenges/chocolate-in-box

Nim Game:http://www.cdf.toronto.edu/~ajr/270/probsess/03/strategy.html

策略是将数组变成XOR为0的(这样就对称了)。之后对方每做一步,可以证明总能找到一个方法己方也做一步能使XOR为0。这样最后会为0,获胜。

计算赢的方案数只要看一下数组里多少个数能够经过改变使得XOR为0.

#include <vector>
#include <iostream>

using namespace std;

int main() {
	int N;
	cin >> N;
	vector<int> vec;
	int r = 0;
	for (int i = 0; i < N; i++) {
		int t;
		cin >> t;
		vec.push_back(t);
		r ^= t;
	}
	int count = 0;
	for (int i = 0; i < N; i++) {
		if (vec[i] > (vec[i]^r))
			count++;
	}
	cout << count << endl;
    return 0;
}

  

相关文章:

  • 2022-12-23
  • 2022-01-03
  • 2022-02-07
  • 2022-01-08
  • 2021-10-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-16
  • 2021-07-23
  • 2022-01-15
  • 2021-11-02
  • 2022-12-23
相关资源
相似解决方案