Codeforces Round #549 (Div. 2), problem: (C) Queen 【思维】
发布日期:2021-06-29 14:29:34 浏览次数:2 分类:技术文章

本文共 615 字,大约阅读时间需要 2 分钟。

题意

输入一个n,表示有个节点,接着输入n行,每行两个数a,b,a表示是i 的父节点(i是第i行,表示第i个节点),b为1表示此节点不尊重其父节点,b为0表示尊重父节点,从小到大输出不尊重父节点并且他的左右子节点都不尊重他的节点

思路

对于c==0的情况,将父节点和子结点拿出来,即vis [ ] =1

最后按顺序输出没有访问过得结点即可

code

#include
#define endl '\n'using namespace std;const int maxn=1e5+5;int n;int vis[maxn];int main(){
cin>>n; for(int i=1;i<=n;i++){
int fa,c; cin>>fa>>c; if(!c){
if(fa!=-1) vis[fa]=1; vis[i]=1; } } int ff=0; for(int i=1;i<=n;i++){
if(vis[i]!=1){
cout<
<<" "; ff=1; } } cout<
学如逆水行舟,不进则退

转载地址:https://chocolate.blog.csdn.net/article/details/104148238 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:关于Vue那些事儿—Javascript 传递异步操作 #Promise#
下一篇:Educational Codeforces Round 37 (Rated for Div. 2), problem: (C) Swap Adjacent Elements 【贪心】

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月23日 05时42分45秒