zoukankan      html  css  js  c++  java
  • CodeForces 841BGodsend思维

    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 ≤ 106) — length of the array.

    Next line contains n integers a1, a2, ..., an (0 ≤ ai ≤ 109).

    Output

    Output 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

    Note

    In first sample first player remove whole array in one move and win.

    In second sample first player can't make a move and lose.

     1 #include<stdio.h>
     2 #include<map>
     3 #include<iostream>
     4 #include<string.h>
     5 #include<algorithm>
     6 #include<stack>
     7 #include<cmath>
     8 #include<vector>
     9 using namespace std;
    10 typedef long long ll;
    11 
    12 
    13 int a[1000020];
    14 
    15 int main()
    16 {
    17     int n;
    18     while(cin>>n)
    19     {
    20         ll sum=0;
    21         int flag=0;
    22         for(int i=0;i<n;i++)
    23         {
    24             cin>>a[i];
    25             if(a[i]%2==1)
    26                 flag=1;
    27             sum+=a[i];
    28         }
    29         if(sum%2==1)
    30             cout<<"First"<<endl;
    31         else
    32         {
    33             if(flag==0)
    34                 cout<<"Second"<<endl;
    35             else
    36                 cout<<"First"<<endl;
    37         }
    38 
    39     }
    40     return 0;
    41 }
  • 相关阅读:
    Android ArrayAdapter使用
    Android 更改字体
    C# CRC16校验码 1.0
    获取当前主题颜色 Flutter
    C# 每个字节接受 处理串口数据 的方法
    C# CRC
    char* 与 string 互转
    typeof 子类获取父类
    flutter Row 垂直或水平放置多个widget
    flutter 容器 几种写法
  • 原文地址:https://www.cnblogs.com/OFSHK/p/11992855.html
Copyright © 2011-2022 走看看