/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 1ms 540.0 KiB
#3 Wrong Answer 1ms 540.0 KiB
#4 Wrong Answer 2ms 540.0 KiB
#5 Wrong Answer 24ms 1.211 MiB
#6 Wrong Answer 24ms 1.207 MiB
#7 Wrong Answer 284ms 7.598 MiB
#8 Wrong Answer 292ms 7.703 MiB
#9 Wrong Answer 298ms 7.602 MiB
#10 Wrong Answer 172ms 6.059 MiB

Code

#include<bits/stdc++.h>
using namespace std;

void dfs(int node,int t,int parent,vector<int>&tgl,vector<vector<int>>&tree,vector<int>&a)
{
    //if(node==parent) return;
    t += tgl[node];
    if(t%2) a[node] ^=1;

    for(auto e:tree[node])
    {
        if(e==parent) continue;
        dfs(e,t,node,tgl,tree,a);
    }
}

void solve(int tc)
{
    int n,q; cin>>n>>q;
    vector<vector<int>> tree(n+1);
    vector<int>a(n+1);
    for(int i=1;i<=n;i++) cin>>a[i];
    int u,v;
    
    for(int i=1;i<n;i++)
    {
        cin>>u>>v;
        tree[u].push_back(v);
        tree[v].push_back(u);
    }

    vector<int>tgl(n+1);
    while(q--)
    {
        cin>>u;
        tgl[u]++;
    }

    dfs(1,0,0,tgl,tree,a);
    cout<<"Case "<<tc<<": ";
    for(int i=1;i<=n;i++) cout<<a[i]<<" ";
    cout<<endl;
}

int main(){
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    int t; cin>>t;
    for(int i=1;i<=t;i++)
    {
        solve(i);
    }}

Information

Submit By
Type
Submission
Problem
P1003 Tahsin and Tree
Language
C++20 (G++ 13.2.0)
Submit At
2024-02-15 19:33:52
Judged At
2024-02-17 16:50:23
Judged By
Score
0
Total Time
298ms
Peak Memory
7.703 MiB