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);
}
编译运行后输入到第二行时出现如图的错误
