8分WA求助
查看原帖
8分WA求助
547658
Shiota_Nagisa楼主2021/11/26 22:55
#include<bits/stdc++.h>
using namespace std;
struct farm{
	vector<int> son;
	char milk;
	int kuai;
};
farm a[100010];
int n,m,path_a,path_b;
void dfs(int now,int hao){
	if(a[now].kuai) return ;
	for(int i=0;i<a[now].son.size();i++){
		if(a[a[now].son[i]].milk==a[now].milk){
			a[a[now].son[i]].kuai=hao;
			dfs(a[now].son[i],hao);
		}
		else{
			a[a[now].son[i]].kuai=hao+1;
			dfs(a[now].son[i],hao+1);
		}
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	    cin>>a[i].milk;
	for(int i=1;i<n;i++){
		cin>>path_a>>path_b;
		a[path_a].son.push_back(path_b);
		a[path_b].son.push_back(path_a);
	}
	dfs(1,1);
	int f,t;
	char l;
	vector<bool>ans;
	for(int i=1;i<=m;i++){
		cin>>f>>t>>l;
        if(a[f].milk==l||a[t].milk==l&&a[f].kuai!=a[t].kuai)
           ans.push_back(1);
        else ans.push_back(0);
	} 
	for(int i=0;i<ans.size();i++)
	    cout<<ans[i];
}
2021/11/26 22:55
加载中...