P11796 题解

· · 题解

题目传送门

思路

对于第 i 个表情包:若 a_i=0,那么标记前一个表情包 a_{i-1}=1;若 a_i=1,那么标记下一个表情包 a_{i+1}=1。最后判断第 k 个表情包是否被标记(a_k=1)即可。

AC CODE

#include<bits/stdc++.h>
using namespace std;
int read(){int x=0;char f=1,ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();return x*f;}
const int N=105;
int a[N],cnt[N];
int main(){
    int n=read(),k=read();
    for(int i=1;i<=n;++i)
        a[i]=read();
    for(int i=1;i<=n;++i)
        if(a[i]==0&&i<n)
            ++cnt[i+1];
        else if(a[i]==1&&i>=1)
            ++cnt[i-1];
    printf(cnt[k]?"Yes\n":"No\n");
    return 0;
}