奇奇怪怪的错误
查看原帖
奇奇怪怪的错误
635555
Pol_Pot楼主2023/1/17 18:31

rt


#include<bits/stdc++.h>
using namespace std;
int flag[100005];
int main(){
    int n,m,p;
    
    //m个电视频道
    //当前频道为p
    int a[100005],b[100005];
    scanf("%d%d%d",&n,&m,&p);
    for (int i=1;i<=n;i++){
        scanf("%d %d",&a[i],&b[i]);
        flag[b[i]]=1;
    }
    int tmp=0;
    for (int i=m;i>=1;i--){
        if (flag[i]==0){
            //桶空
            tmp=1;
        }
        flag[i]=0;
    }
    if (tmp=0){
        //没有桶空,即每个频道都有老人讨厌,即不能满足全部老人
        printf("-1");
        return 0;
    }
    for(int i=1;i<=n;i++){
		flag[b[i]]=a[i];
        //老人喜欢的频道
	}
    int ans=0;

    for (int i=1;i<=m;i++){
        //模拟
        if (flag[p]==0){
            //没人讨厌p频道
            printf("%d",ans);
        }
        else {
            //有人讨厌p频道
            p=flag[p];
            //将当前频道设置为调频道老人喜欢的频道
            ans++;
        }
    }
    printf("%d",ans);
}

编译运行后输入到第二行时出现如图的错误


2023/1/17 18:31
加载中...