Submission #1440540
Source Code Expand
#include<bits/stdc++.h> using namespace std; using ll=long long; #define int ll #define FOR(i,a,b) for(int i=int(a);i<int(b);i++) #define REP(i,b) FOR(i,0,b) int read(){ int i; scanf("%lld",&i); return i; } using vi=vector<int>; #define PB push_back #define ALL(x) x.begin(),x.end() using pi=pair<int,int>; void chmin(int&a,int b){ a=a<b?a:b; } void chmax(int&a,int b){ a=a>b?a:b; } const int Nmax=114514; vi g[Nmax]; void AddEdge(int a,int b){ g[a].PB(b); g[b].PB(a); } bool vis[Nmax]; int ans[Nmax]; void dfs2(int v,int d){ if(vis[v])return; vis[v]=true; ans[v]=d; for(auto to:g[v]) dfs2(to,-d); } vi t[2][Nmax]; int dfs(int v,int k){ int res=-1; for(auto ch:t[k][v]){ int w=dfs(ch,k); if(res==-1) res=w; else{ AddEdge(res,w); res=-1; } } if(res==-1)res=v; return res; } signed main(){ int n=read(),root[2]; REP(k,2) REP(i,n){ int p=read(); if(p==-1)root[k]=i; else t[k][p-1].PB(i); } REP(i,n) if(int(t[0][i].size())%2!=int(t[1][i].size())%2){ cout<<"IMPOSSIBLE"<<endl; return 0; } REP(k,2) dfs(root[k],k); REP(i,n) if(int(t[0][i].size())%2==0&&!vis[i]) dfs2(i,1); cout<<"POSSIBLE"<<endl; REP(i,n) printf(i<n-1?"%lld ":"%lld\n",ans[i]); }
Submission Info
Submission Time | |
---|---|
Task | F - Two Trees |
User | maroonrk |
Language | C++14 (GCC 5.4.1) |
Score | 1700 |
Code Size | 1299 Byte |
Status | AC |
Exec Time | 100 ms |
Memory | 17664 KB |
Compile Error
./Main.cpp: In function ‘ll read()’: ./Main.cpp:9:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%lld",&i); ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1700 / 1700 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_1_43.txt, subtask_1_44.txt, subtask_1_45.txt, subtask_1_46.txt, subtask_1_47.txt, subtask_1_48.txt, subtask_1_49.txt, subtask_1_50.txt, subtask_1_51.txt, subtask_1_52.txt, subtask_1_53.txt, subtask_1_54.txt, subtask_1_55.txt, subtask_1_56.txt, subtask_1_57.txt, subtask_1_58.txt, subtask_1_59.txt, subtask_1_60.txt, subtask_1_61.txt, subtask_1_62.txt, subtask_1_63.txt, subtask_1_64.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 4 ms | 9344 KB |
sample_02.txt | AC | 4 ms | 9344 KB |
sample_03.txt | AC | 4 ms | 9344 KB |
subtask_1_01.txt | AC | 4 ms | 9344 KB |
subtask_1_02.txt | AC | 4 ms | 9344 KB |
subtask_1_03.txt | AC | 25 ms | 11776 KB |
subtask_1_04.txt | AC | 47 ms | 14720 KB |
subtask_1_05.txt | AC | 35 ms | 12928 KB |
subtask_1_06.txt | AC | 18 ms | 11008 KB |
subtask_1_07.txt | AC | 41 ms | 13440 KB |
subtask_1_08.txt | AC | 14 ms | 10488 KB |
subtask_1_09.txt | AC | 21 ms | 11260 KB |
subtask_1_10.txt | AC | 42 ms | 13696 KB |
subtask_1_11.txt | AC | 11 ms | 10112 KB |
subtask_1_12.txt | AC | 56 ms | 15488 KB |
subtask_1_13.txt | AC | 28 ms | 12160 KB |
subtask_1_14.txt | AC | 11 ms | 10240 KB |
subtask_1_15.txt | AC | 20 ms | 11008 KB |
subtask_1_16.txt | AC | 20 ms | 11508 KB |
subtask_1_17.txt | AC | 17 ms | 10876 KB |
subtask_1_18.txt | AC | 57 ms | 15740 KB |
subtask_1_19.txt | AC | 38 ms | 13312 KB |
subtask_1_20.txt | AC | 84 ms | 17024 KB |
subtask_1_21.txt | AC | 38 ms | 13696 KB |
subtask_1_22.txt | AC | 39 ms | 15488 KB |
subtask_1_23.txt | AC | 67 ms | 16896 KB |
subtask_1_24.txt | AC | 68 ms | 15488 KB |
subtask_1_25.txt | AC | 24 ms | 11636 KB |
subtask_1_26.txt | AC | 33 ms | 12536 KB |
subtask_1_27.txt | AC | 61 ms | 15996 KB |
subtask_1_28.txt | AC | 39 ms | 13312 KB |
subtask_1_29.txt | AC | 65 ms | 16384 KB |
subtask_1_30.txt | AC | 39 ms | 13696 KB |
subtask_1_31.txt | AC | 37 ms | 15616 KB |
subtask_1_32.txt | AC | 67 ms | 16256 KB |
subtask_1_33.txt | AC | 61 ms | 15488 KB |
subtask_1_34.txt | AC | 24 ms | 11636 KB |
subtask_1_35.txt | AC | 32 ms | 12536 KB |
subtask_1_36.txt | AC | 61 ms | 16892 KB |
subtask_1_37.txt | AC | 65 ms | 16896 KB |
subtask_1_38.txt | AC | 65 ms | 16768 KB |
subtask_1_39.txt | AC | 71 ms | 17536 KB |
subtask_1_40.txt | AC | 65 ms | 16640 KB |
subtask_1_41.txt | AC | 70 ms | 17280 KB |
subtask_1_42.txt | AC | 42 ms | 14452 KB |
subtask_1_43.txt | AC | 69 ms | 16764 KB |
subtask_1_44.txt | AC | 66 ms | 17152 KB |
subtask_1_45.txt | AC | 71 ms | 17408 KB |
subtask_1_46.txt | AC | 66 ms | 17664 KB |
subtask_1_47.txt | AC | 71 ms | 16768 KB |
subtask_1_48.txt | AC | 66 ms | 17536 KB |
subtask_1_49.txt | AC | 42 ms | 14580 KB |
subtask_1_50.txt | AC | 62 ms | 16508 KB |
subtask_1_51.txt | AC | 66 ms | 16384 KB |
subtask_1_52.txt | AC | 66 ms | 17280 KB |
subtask_1_53.txt | AC | 65 ms | 16512 KB |
subtask_1_54.txt | AC | 67 ms | 16384 KB |
subtask_1_55.txt | AC | 73 ms | 16768 KB |
subtask_1_56.txt | AC | 42 ms | 14708 KB |
subtask_1_57.txt | AC | 66 ms | 16764 KB |
subtask_1_58.txt | AC | 65 ms | 16768 KB |
subtask_1_59.txt | AC | 68 ms | 17536 KB |
subtask_1_60.txt | AC | 65 ms | 16768 KB |
subtask_1_61.txt | AC | 100 ms | 16768 KB |
subtask_1_62.txt | AC | 65 ms | 17024 KB |
subtask_1_63.txt | AC | 43 ms | 16628 KB |
subtask_1_64.txt | AC | 61 ms | 16508 KB |