Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logic 脱衣舞游戏:八月午餐挑战赛_Logic - Fatal编程技术网

Logic 脱衣舞游戏:八月午餐挑战赛

Logic 脱衣舞游戏:八月午餐挑战赛,logic,Logic,Tzuyu送给Nayeon一条N个细胞(编号1到N)作为生日礼物。该条带由序列A1、A2、…、AN描述,其中对于每个有效i,如果Ai=1,则第i个单元被阻塞,如果Ai=0,则第i个单元被空闲。Tzuyu和Nayeon将使用它玩一个游戏,游戏规则如下: 运动员轮流轮换;纳扬先上场。 最初,两名球员都在禁区之外。然而,请注意,在比赛之后,他们的位置总是不同的。 在每一回合中,当前玩家应选择一个空闲单元并移动到那里。之后,该单元格被阻塞,玩家无法再次移动到该单元格。 如果这是当前玩家的第一回合,她可以

Tzuyu送给Nayeon一条N个细胞(编号1到N)作为生日礼物。该条带由序列A1、A2、…、AN描述,其中对于每个有效i,如果Ai=1,则第i个单元被阻塞,如果Ai=0,则第i个单元被空闲。Tzuyu和Nayeon将使用它玩一个游戏,游戏规则如下:

运动员轮流轮换;纳扬先上场。 最初,两名球员都在禁区之外。然而,请注意,在比赛之后,他们的位置总是不同的。 在每一回合中,当前玩家应选择一个空闲单元并移动到那里。之后,该单元格被阻塞,玩家无法再次移动到该单元格。 如果这是当前玩家的第一回合,她可以移动到任何空闲牢房。 否则,她只能移动到左右相邻的一个小区,即从小区c,当前玩家只能移动到小区c−1或c+1(如果是免费的)。 如果玩家在回合中无法移动到空闲牢房,该玩家将输掉比赛。 纳扬和祖宇都很聪明,所以他们都踢得很好。因为今天是Nayeon的生日,她想知道自己是否能打败Tzuyu。找出谁赢了

输入 输入的第一行包含一个表示测试用例数量的整数T。T测试用例的描述如下。 每个测试用例的第一行包含一个整数N。 第二行包含N个空格分隔的整数A1、A2、…、AN。 输出 对于每个测试用例,如果Nayeon赢了游戏,则打印一行包含字符串“Yes”,如果Tzuyu赢了游戏,则打印一行包含字符串“No”(不带引号)

约束条件

一,≤T≤四万

二,≤N≤3.⋅105

0≤艾岛≤每一个有效的i

A1=AN=1

所有测试用例中N的总和不超过106 子任务 子任务#1(50分):每个i(2)的Ai=0≤我≤N−(一)

子任务2(50分):原始约束

示例输入

4
7
1 1 0 0 0 1 1
8
1 0 1 1 1 0 0 1
4
1 1 0 1
4
1 1 1 1
示例输出

Yes
No
Yes
No
解释 示例案例1:由于Nayeon和Tzuyu都发挥了最佳效果,因此Nayeon可以开始移动到第4单元,然后被阻塞。Tzuyu必须选择单元3或单元5,这也会被阻塞。然后,Nayeon在第4单元旁边只剩下一个空单元(Tzuyu没有选择的单元);在她移动到那里后,Tzuyu无法移动,因此她输掉了比赛

例2:不管Nayeon在一开始移动到哪个牢房,Tzuyu总是能够打败她

我的做法:

#include <iostream>
using namespace std;

int main() {
    // your code goes here
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
        int a[n];
        for(int i=0;i<n;i++)
        {
            cin>>a[i];
        }
        int cnt=0,temp=0;
        for(int i=0;i<n;i++)
        {
            if(a[i]==0)
            temp++;
            if(a[i]==1)
            {
                if(temp>cnt)
                {
                    cnt=temp;
                    temp=0;
                }
            }
        }
        int chk=0;
        temp=0;
        for(int i=0;i<n;i++)
        {
            if(a[i]==0)
            temp++;
            else
            {
                if(temp>cnt/2)
                chk++;
            }
        }
        if(chk>1)
        {
            cout<<"No"<<"\n";
        }
        else
        {
            if(cnt%2==0)
            cout<<"No"<<"\n";
            else
            cout<<"Yes"<<"\n";
        }
        
    }
    return 0;
}
#包括
使用名称空间std;
int main(){
//你的密码在这里
int t;
cin>>t;
而(t--)
{
int n;
cin>>n;
int a[n];
对于(int i=0;i>a[i];
}
int cnt=0,temp=0;
对于(int i=0;icnt)
{
cnt=温度;
温度=0;
}
}
}
int-chk=0;
温度=0;
用于(int i=0;icnt/2)
chk++;
}
}
如果(chk>1)
{
库特