CSU-2220 Godsend
題目鏈接
http://acm.csu.edu.cn:20080/csuoj/problemset/problem?pid=2220
題目
Description
Leha somehow found an array consisting of n integers. Looking at it, he came up with a task. Two players play the game on the array. Players move one by one. The first player can choose for his move a subsegment of non-zero length with an odd sum of numbers and remove it from the array, after that the remaining parts are glued together into one array and the game continues. The second player can choose a subsegment of non-zero length with an even sum and remove it. Loses the one who can not make a move. Who will win if both play optimally?
Input
First line of input data contains single integer n (1?≤?n?≤?1000000) — length of the array.
Next line contains n integers a1,?a2,?...,?an (0?≤?ai?≤?1000000000).
Output
Output answer in single line.
"First", if first player wins, and "Second" otherwise (without quotes).
Sample Input
4 1 3 2 3Sample Output
First題意
兩個人進(jìn)行游戲,給定n和n個數(shù)字,第一個人可以拿走和為奇數(shù)的一部分?jǐn)?shù)字,第二個人可以拿走和為偶數(shù)的一部分?jǐn)?shù)字,誰不能拿走數(shù)字則輸,問誰能贏
題解
博弈論入門題目,若所有數(shù)和為奇數(shù),那么先手可以直接拿走所有數(shù)字,后手輸,若和為偶數(shù),那么先手可以先拿走一個奇數(shù),此時和為奇數(shù),后手只能拿走和為偶數(shù)的部分,剩下的數(shù)仍為奇數(shù),先手全部拿走,先手贏,若沒有一個奇數(shù)全為偶數(shù),先手無法拿走數(shù)字,后手贏。
總結(jié)一下,即數(shù)列中有奇數(shù),先手贏,否則后手贏
AC代碼
#include<bits/stdc++.h> using namespace std; int main() {int n;scanf("%d", &n);for (int i = 1; i <= n; i++) {int a;scanf("%d", &a);if (a % 2 == 1) {printf("First");return 0;}}printf("Second");return 0; } /**********************************************************************Problem: 2220User: ArtoriaxLanguage: C++Result: ACTime:180 msMemory:2024 kb **********************************************************************/轉(zhuǎn)載于:https://www.cnblogs.com/artoriax/p/10370731.html
總結(jié)
以上是生活随笔為你收集整理的CSU-2220 Godsend的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 驰为v10刷linux,驰为Vi10刷机
- 下一篇: 修改cpu控制文件init.qcom.p