题目名称 | 3197. 石子游戏 |
---|---|
输入输出 | nim.in/out |
难度等级 | ★★★☆ |
时间限制 | 2000 ms (2 s) |
内存限制 | 512 MiB |
测试数据 | 20 |
题目来源 | 梦那边的美好ET 于2019-06-26加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:4, 提交:10, 通过率:40% | ||||
bilibili | 100 | 2.119 s | 41.02 MiB | C++ |
梦那边的美好ET | 100 | 2.635 s | 18.23 MiB | C++ |
... | 100 | 2.884 s | 18.23 MiB | C++ |
bilibili | 100 | 6.713 s | 24.40 MiB | C++ |
梦那边的美好ET | 75 | 7.490 s | 18.23 MiB | C++ |
bilibili | 60 | 17.584 s | 20.53 MiB | C++ |
梦那边的美好ET | 40 | 0.664 s | 10.02 MiB | C++ |
bilibili | 0 | 3.241 s | 21.97 MiB | C++ |
bilibili | 0 | 3.468 s | 21.97 MiB | C++ |
梦那边的美好ET | 0 | 20.000 s | 18.23 MiB | C++ |
关于 石子游戏 的近10条评论(全部评论) | ||||
---|---|---|---|---|
这题不开O2有点卡常。。。
|
Alex和Bob在玩游戏。游戏规则如下:桌上有 n 堆石子,每堆石子有 ai 个,Alex和Bob轮流操作,Bob做第一次操作。每次操作时,操作者可以选择一堆石子,并从这堆石子中取出至少一个石子。最后无法操作的人输。可以发现这就是一个Nim游戏。
Alex发现他并不能赢,于是他决定删去若干堆石子(可以不删,也可以全删,删去一堆石子可以理解为将这堆石子的个数变为 0 个),使得在双方都采用最优决策的情况下,Alex能赢。同时Alex希望留下尽量多的堆数,你需要求出最多可能留下的堆数。
第一行一个整数 n 表示石子堆数。
第二行 n 个整数,分别表示 a1; a2; a3; ... an。
一行 1 个整数,表示最多能剩下多少堆石子。
8 1 9 2 6 0 8 1 7
7
40%数据 n*maxai ≤ 10000000
100%数据 1 ≤ n ≤ 500000; 0 ≤ ai ≤ 500000。