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