D - Even Relation

一棵树有N个节点,编号为1至N。树的第i条边连接节点ui​和节点vi​,长度为wi​。你应将这棵树的所有节点染上黑色或白色(所有节点可以是同一种颜色),染色后的树应满足:

对于任意两个相同颜色的节点,它们之间的距离是偶数。

输出任意一组合法的解,第i行输出i号节点的颜色。输出0表示该节点是白色,输出1表示该节点为黑色。可以证明该问题至少有一组解。

保证所有输入都是整数。

1≤N≤105

1≤ui​

1≤wi​≤109

输入输出样例

输入 #1复制

3
1 2 2
2 3 1

输出 #1复制

0
0
1

输入 #2复制

5
2 5 2
2 3 10
1 3 8
3 4 2

输出 #2复制

1
0
1
0
1
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
#define endl '\n'
#define int long long
typedef pairPII;
constexpr int N=1e5+7;
vectoradj[N];
bool k[N];
void dfs(int x,int fa){
    for(int i=0;i>n;
    for(int i=1;i<=n-1;i++){
        int u,v,w;
        cin>>u>>v>>w;
        adj[u].push_back({v,w%2});
        adj[v].push_back({u,w%2});
    }
    dfs(1,0);
    for(int i=1;i<=n;i++){
        if(k[i]) {
            cout <<1<< endl;
        }
        else{
            cout<<0<

 

你可能感兴趣的:(深度优先,算法,图论,c++)