结论:其实每一个巧克力都是一堆石子 它的石子数就是它到队尾的距离

打一个SG表即可

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int sg[];
int num[];
bool vis[];
int main() {
sg[] = ;
for (int i = ; i <= ; i++) {
memset(vis, , sizeof(vis));
for (int j = i - ; j >= ; j--) {
for (int k = j; k >= ; k--) {
vis[sg[j]^sg[k]] = ;
}
}
for (int j = ; j <= ; j++) {
if (!vis[j]) {
sg[i] = j;
break;
}
}
}
int TNT;
scanf("%d", &TNT);
while (TNT--) {
int ans = ;
int n;
scanf("%d", &n);
for (int i = ; i < n; i++) {
scanf("%d", &num[i]);
if (num[i] & ) {
ans ^= sg[n - i - ];
}
} int a1 = -, b1, c1;
int cnt = ;
for (int i = ; i < n - ; i++) {
if (num[i]) {
for (int j = i + ; j < n; j++) {
for (int k = j; k < n ; k++) {
if ((ans ^ sg[n - i - ]^ sg[n - j - ] ^ sg[n - k - ]) == ) {
cnt++;
if (a1 == -) {
a1 = i, b1 = j, c1 = k;
}
}
}
}
}
}
if (cnt == ) {
printf("-1 -1 -1\n");
} else {
printf("%d %d %d\n", a1, b1, c1);
}
printf("%d\n", cnt); }
}

最新文章

  1. .net core 中环境变量的配置
  2. 使用ScheduledExecutorService实现Timer
  3. iOS - Swift Set 集合
  4. 转:最值得学习阅读的10个C语言开源项目代码
  5. mysql备份工具 :mysqldump mydumper Xtrabackup 原理
  6. Apache 使用密码文件验证用户
  7. (三)Angularjs - 小实例
  8. [转载]Matlab中fft与fftshift命令的小结与分析
  9. Eclipse使用总结
  10. 自动生成getter,setter方法的插件lombok
  11. sass和compass实战 读书笔记(一)
  12. vue的传参方式和router使用技巧
  13. 练习2-1 Programming in C is fun!
  14. P1456 Monkey King
  15. Spring的介绍与搭建
  16. QT中QLineEdit的editingFinished()信号在按下回车时会触发两次的解决办法
  17. 转:nginx模块开发——handler(二)
  18. uniapp开发踩坑记录
  19. jQuery的基本使用
  20. mongodb中的_id的ObjectId的生成规则

热门文章

  1. python 创建虚拟环境(virtualenv)
  2. Unity3D 原来Unity比较新的版本支持中文
  3. leetcode1277 Count Square Submatrices with All Ones
  4. 最新 多益网络java校招面经 (含整理过的面试题大全)
  5. TF-IDF算法与余弦相似性
  6. Java面试 - == 和 equals 的区别?
  7. K8S从入门到放弃系列-(5)kubernetes集群之kube-apiserver部署
  8. windows 下安装ElasticSearch方法
  9. 【坑】使用IDEA创建maven的时候,提示缺少plugin-clean 等
  10. Word 写论文插入参考文献的正确操作