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; }