Codeforces Round #429 (Div. 2):B. Godsend
題目:
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?
InputFirst line of input data contains single integer n (1?≤?n?≤?106) — length of the array.
Next line contains n integers a1,?a2,?...,?an (0?≤?ai?≤?109).
OutputOutput answer in single line. "First", if first player wins, and "Second" otherwise (without quotes).
Examples Input 4 1 3 2 3 Output First Input 2 2 2 Output Second NoteIn first sample first player remove whole array in one move and win.
In second sample first player can't make a move and lose.
題意:給出一個(gè)數(shù)組,有兩個(gè)人玩游戲,游戲規(guī)則:第一個(gè)人選取連續(xù)的子區(qū)間并且區(qū)間的和為奇數(shù),第二個(gè)人選取連續(xù)的子區(qū)間并且區(qū)間和為偶數(shù)。當(dāng)有人不能選擇這樣的一個(gè)區(qū)間時(shí),那么這個(gè)人就輸了,問(wèn)那個(gè)人會(huì)贏?思路:思維題。容易看出,當(dāng)存在一個(gè)奇數(shù)的時(shí)候第一個(gè)人會(huì)贏,否則第二個(gè)人會(huì)贏。另奇數(shù)的個(gè)數(shù)為x,當(dāng)x為偶數(shù)時(shí),第一個(gè)人只需選取最后一個(gè)奇數(shù)前的區(qū)間,那么無(wú)論第二個(gè)人怎么選都會(huì)存在和為奇數(shù)的區(qū)間;當(dāng)x為奇數(shù)時(shí),此時(shí)整個(gè)數(shù)組的和為奇數(shù)滿足條件,第一個(gè)人直接選擇整個(gè)數(shù)組~
code:
#include<bits/stdc++.h> using namespace std; int a[1000005]; int main() {int n,i,x;while(~scanf("%d",&n)){x=0;for(i=0;i<n;i++){scanf("%d",&a[i]);if(a[i]%2) x++;}if(x) puts("First");else puts("Second");}return 0; }
總結(jié)
以上是生活随笔為你收集整理的Codeforces Round #429 (Div. 2):B. Godsend的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 骨传导耳机好用吗?骨传导耳机原理是什么?
- 下一篇: 车辆协同定位论文review