尽管她在第二项任务中看到兹文科偷走了米尔科的微处理器但米尔科的妹妹伊万娜没有告诉米尔科因为她喜欢兹文科。她建议他一起去看电影这样她就可以忘记这件事了。Zvonko不太关心女孩因为女孩会占用他平时花在练习数学上的宝贵时间。他建议他们两人玩一场游戏如果伊万娜赢了他们将一起去看电影。伊万娜同意了她擅长跳绳有时甚至和她的两个兄弟踢足球。Zvonko将N个正整数放在地板上的一个圆圈内并解释了规则:第一个玩家
题目描述
尽管她在第二项任务中看到兹文科偷走了米尔科的微处理器,但米尔科的妹妹伊万娜没有告诉米尔科,因为她喜欢兹文科。她建议他一起去看电影,这样她就可以“忘记”这件事了。
Zvonko不太关心女孩,因为女孩会占用他平时花在练习数学上的宝贵时间。他建议他们两人玩一场游戏,如果伊万娜赢了,他们将一起去看电影。伊万娜同意了,她擅长跳绳,有时甚至和她的两个兄弟踢足球。
Zvonko将N个正整数放在地板上的一个圆圈内,并解释了规则:
•第一个玩家接受任何数字。
•第二名玩家从与第一名玩家相邻的两个数字中选择一个。
•下一个玩家在到目前为止所取的任何数字旁边取一个数字,依此类推,直到数字用完。选择更多奇数(不能被2整除)的玩家获胜。
兹文科发挥得最好;他总是寻找一种能带来一定胜利或平局的策略。兹文科不知道伊万娜打得有多好。作为一名真正的骑士,他让伊万娜拥有了第一步。但伊万娜只在乎在大屏幕前坐在兹文科旁边,所以她寻求帮助。
编写一个程序,找出伊万娜能做出多少不同的第一步,这样她就有机会在之后获胜。
输入格式: 第一行输入包含一个整数N(1≤N≤100),圆圈里有多少个数字。
第二行包含由单个空格分隔的N个整数。所有数字都将在1到1000(含)之间。没有两个数字是相同的。
输出格式: 输出所需的数字。
输入样例1: 3 3 1 5 输出样例1: 3 输入样例2: 4 1 2 3 4 输出样例2: 2 输入样例3: 8 4 10 5 2 9 8 1 7 输出样例3: 5 第一个例子: 无论伊万娜先取哪个数字,她都会得到两个奇数,而兹文科只会得到一个。
第二个例子: 如果伊万娜选一个偶数,兹文科将选一个奇数并确保平局。如果她选一个奇数,兹文科将不得不选一个偶数,然后输,因为伊万娜可以选另一个奇数。
算法1
(暴力枚举) $O(n^3)$
1.暴力枚举
时间复杂度
参考文献
python3 代码
C++ 代码
算法2
(暴力枚举) $O(n^2)$
1.暴力枚举
时间复杂度
参考文献
C++ 代
原文地址: http://www.cveoy.top/t/topic/ftmk 著作权归作者所有。请勿转载和采集!