A - Coloring a Tree

题目:

 

 题目网站:https://codeforces.com/problemset/problem/813/C

思路:

 要把一个没有颜色的树变成所给颜色的树,用两个数组存储树的关系,以及树的颜色;

在运用搜索的思想对颜色数组扫一遍,判断子节点与父节点颜色是否相同不同就ans++;

搜索完后就输出答案。

代码实现:

#include <iostream>
using namespace std;
int n,ans=0;
int a[10005],b[10005];
int main()
{
//输入信息 cin
>>n; for(int c1=2;c1<=n;c1++) cin>>a[c1]; for(int c1=1;c1<=n;c1++) cin>>b[c1];
//判断子节点与父节点颜色是否相同
for(int c1=1;c1<=n;c1++) if(b[c1]!=b[a[c1]]) ans++; cout<<ans<<endl; return 0; }

 

  

 

posted @ 2021-07-20 14:54  wateriness  阅读(35)  评论(0编辑  收藏  举报