B4045 [语言月赛 202410] 同桌
简要题意
给你一个 No。否则输出 Yes。
思路
首先,我们肯定要输入。
这个地方因为不关课桌的事,所以可以直接给
cin>>n;
n*=2;
然后,我们要输入 No 并结束程序的运行。
这部分的代码:
for(int i=1;i<=n;i++){
cin>>want[i];//这里的 want 就是 p 数组
if(want[i]==i){
cout<<"No";
return 0;
}
}
为什么不能边输入边判断
所以,接下来我们要到单独用一个循环去判断 No 并结束程序。
最后,如果前面都没有结束那么最后还要输出 Yes 哦!
这部分的代码:
for(int i=1;i<=n;i++){
if(want[want[i]]!=i){
cout<<"No";
return 0;
}
}
cout<<"Yes";