A

link



这个题就是讨论。

首先,如果没有\(1\)就一定可以。

如果有\(1\)。

如果长度为\(2\)一定不行。

\(1\)的个数为奇数不行。

如果为偶数

有一个小点:如果是\(2\)个\(1\)且连在一起,不行,因为不能开相邻的。

点击查看代码
#include<bits/stdc++.h>

using namespace std;

int t;
int n;
char a[55]; void qwq(){ cin >> n; int g = 0;
for(int i = 1;i <= n;++ i){
cin >> a[i];
if(a[i] == '1') g++;
} if(g == 0) cout << "YES\n";
else{
if(n == 2) cout << "NO\n";
else{
if(g%2) cout << "NO\n";
else{
if(g == 2){
for(int i = 1;i <= n;++ i){
if(a[i] == '1'&&
a[i-1] == '1'){
cout << "NO\n";
return;
}
}
cout << "YES\n";
}
else cout << "YES\n";
}
}
} } signed main(){ cin >> t;
while(t--) qwq(); return 0; }

B

link



首先,肯定不往后换。

其次,如果它前面有比它大的数,肯定一场也赢不了。

所以,我们要换到它前面第一个比它大的位置,设为\(x\)。

还有一种可能,换到\(1\),那么到\(x\)这个位置就会停,但是如果\(1\)~\(x\)比\(x\)到下一个大于它的数长度大,就可以选\(1\)。

点击查看代码
#include<bits/stdc++.h>

using namespace std;

int t;
int n,k;
int a[100005];
int b[100005];
int qzh[100005]; int qiuzhi(int x){
swap(a[x],a[k]);
int ans = 0;
if(qzh[x-1] < a[x]){
for(int i = x+1;i <= n;++ i){
if(a[i] < a[x]) ans++;
else break;
}
if(x != 1) ans++;
}
swap(a[x],a[k]);
return ans;
} void qwq(){ cin >> n >> k;
for(int i = 1;i <= n;++ i){
cin >> a[i];
qzh[i] = max(qzh[i-1],a[i]);
b[i] = a[i];
} int w = k;
for(int i = 1;i < k;++ i)
if(a[i] > a[k]){
w = i;
break;
} int ans = qiuzhi(w);
ans = max(ans,qiuzhi(1)); cout << ans << endl; } signed main(){ cin >> t;
while(t--) qwq(); return 0; }

随机推荐

  1. Android 13 - Media框架(19)- ACodec(一)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 这一节我们将会一起了解 ACodec 的设计方式,在看具体的实现细节前我们要先了解它内部的状态转换机制,这也是ACodec的核心难点之一. 1.AH ...

  2. WPF开发快速入门【0】前言与目录

    前言 WPF是一个生不逢时的技术,刚推出的时候由于是XP时代,WPF技术有两个不方便的地方: 1.由于操作系统没有自带Framework,需要另外安装,比较麻烦: 2.程序第一次启动时,由于要加载Fr ...

  3. C# 实现中文转颜色 - 实现根据名字自动生成头像

    一.C#实现中文转颜色 - 实现根据名字自动生成头像 原理说明: 由于名字图像是自动生成,背景颜色不一样,可以考虑一下几种方法: 1)使用随机数来自动生成一个16进制颜色字符串,作为头像的背景颜色: ...

  4. 腾讯消息队列CMQ一键化部署脚本

    CMQ-1.0.2-软件包.tar安装包放在家目录,脚本也放在家目录,然后执行:sh -x cmq_install.sh [ip1] [ip2] [ip3] 即可 下列脚本代码保存为:cmq_inst ...

  5. linux ssh key 登录

    vim /etc/ssh/sshd_config #禁用root账户登录,非必要,但为了安全性,请配置 PermitRootLogin no # 是否让 sshd 去检查用户家目录或相关档案的权限数据 ...

  6. 继承,super,重写,多态,抽象,接口

    继承,super,重写,多态,抽象,接口 继承 extends 用于表示两个类之间的继承关系,继承是OOP的四大特性之一,他允许一个类(称之为子类或派送类) 继承另一个类(称之为父类或基类)的变量和方 ...

  7. umask永久修改用户创建文件权限

    Linux里永久设置用户创建文件权限的配置文件是/etc/profile.可以在该文件中添加umask命令来设置默认权限.具体操作步骤如下: 打开/etc/profile文件:sudo vi /etc ...

  8. ansible list错误

    [root@localhost ansible]# ansible all -list [WARNING]: * Failed to parse /etc/ansible/1.txt with ini ...

  9. jquery的树状菜单

    <body>     <ul>         <li>一级菜单                 <ol>                 <li ...

  10. FRDM-MCXN947开发板之i2c应用

    介绍 MCXN947 NXP FRDM-MCXN947开发板是一款基于MCXN947 MCU的低成本评估板,MCU集成了双核Arm Cortex-M33微控制器和一个神经处理单元(NPU).开发板由一 ...