题解:P11796 【MX-X9-T0】『GROI-R3』NaiLong

· · 题解

题目传送门

思路

读入表情包后,按照题目意思判断上一个 1 或者下一个 0 是否为奶批,如果是输出 Yes 否则输出 No

代码

#include <bits/stdc++.h>
using namespace std;
void uprint(int x){//输出无符号类型数
    if(x>9){
        uprint(x/10);
    }
    putchar(x%10^48);
    return ;
}
void print(int x){//有符号类型,可直接调用这个
    if(x<0){
        putchar('-');
        x=-x;
    }
    uprint(x);
    return ;
}
int read() {
    int x=0, w=1;
    char ch=0;
    while (ch<'0'||ch>'9') {
        if(ch=='-') w=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9') {
        x=x*10+(ch-'0');
        ch=getchar();
    }
    return x*w;
}
int a[105];//定义数组 
int main() {
    int n=read(),k=read();//读入数据
    for(int i=1; i<=n; i++){
        cin>>a[i];//读入表情包 
    }
    bool answer=false;//答案如果为 true 输出 Yes 否则输出 No 
    for(int i=1; i<=n; i++){
        if (a[i]==0){//表情包是 0 指向下一个人
            if(i<n&&i+1==k){//判断越界和是否为奶批 
                answer=true;//是 
                break;
            }
        } 
        else if(a[i]==1) {//表情包是 1 指向上一个人
            if(i>1&&i-1==k){//判断越界和是否为奶批 
                answer=true;//是 
                break;
            }
        }
    }
    if(answer){//是的情况 
        cout<<"Yes"<<endl;
    } 
    else{
        cout<<"No"<<endl;
    }
    return 0;
}

注释在代码里有看不懂私信。