标签:染色 Queen CF col down fa 补题 节点
【CF】【补题】C. Queen
C. Queen
删除对父节点不敬和全体子节点都为不孝结点的结点(自身被染色和全体子节点都被染色)(将不孝的特性看成是染上了色)
- 条件一:自身被染色。
- 条件二:全体子节点都被染色,对立情况全体子节点存在一个子节点不被染色。
- col数组用来标记,0代表不染,1代表染色
- down数组,用来记录子节点是否存在没有被染色的情况。
#include <bits/stdc++.h>
#define rep(i,x,n) for(int i=x;i<n;i++)
#define repd(i,x,n) for(int i=x;i<=n;i++)
using namespace std;
const int N = 1E5+10;
int fa[N],col[N],down[N];
int main()
{
int n;
cin>>n;
repd(i,1,n)
{
cin>>fa[i]>>col[i];
if(fa[i]!=-1)
if(col[i]==0)
down[ fa[i] ]=1;
}
bool flag=1;
repd(i,1,n)
if( fa[i]!=-1&&col[ i ]==1&&down[ i ]==0)
flag=0,cout<<i<<" ";
if(flag) cout<<-1;
return 0;
}
- 渴望变强,不坑队友
标签:染色,Queen,CF,col,down,fa,补题,节点 来源: https://www.cnblogs.com/BeautifulWater/p/15256965.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。