Submission #1450072
Source Code Expand
#include <bits/stdc++.h> #include <random> using namespace std; #define rep(i, N) for (int i = 0; i < N; i++) #define pb push_back typedef long long ll; typedef pair<int, int> i_i; typedef pair<ll, int> ll_i; int sign = 0; void dfs(int u, vector<multiset<int> >& G, vector<int>& a, set<int>& st) { int N = a.size(); if (G[u].empty()) { st.erase(u); return; } int v = *G[u].begin(); if (v >= 0) { auto it = G[u].find(v); G[u].erase(it); it = G[v].find(u); G[v].erase(it); a[u]++, a[v]--; dfs(v, G, a, st); } else { v = ~v; auto it = G[u].find(~v); G[u].erase(it); it = G[v].find(~u); G[v].erase(it); a[u]--, a[v]++; dfs(v, G, a, st); } } int main() { int N; cin >> N; vector<int> p(N), q(N); rep(u, N) scanf("%d", &p[u]), p[u]--; rep(u, N) scanf("%d", &q[u]), q[u]--; vector<multiset<int> > G(N + 1); rep(u, N) if (p[u] != -2) { int v = p[u]; G[u].insert(v); G[v].insert(u); } else G[u].insert(N), G[N].insert(u); rep(u, N) if (q[u] != -2) { int v = q[u]; G[u].insert(~v); G[v].insert(~u); } else G[u].insert(~N), G[N].insert(~u); rep(u, N) if (G[u].size() % 2) { cout << "IMPOSSIBLE" << endl; return 0; } set<int> st; rep(u, N + 1) st.insert(u); vector<int> a(N + 1); while (st.size()) { int u = *st.begin(); dfs(u, G, a, st); } cout << "POSSIBLE" << endl; rep(u, N) printf("%d ", a[u] / 2); cout << endl; }
Submission Info
Submission Time | |
---|---|
Task | F - Two Trees |
User | sugim48 |
Language | C++14 (GCC 5.4.1) |
Score | 1700 |
Code Size | 1464 Byte |
Status | AC |
Exec Time | 162 ms |
Memory | 42240 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:43:38: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] rep(u, N) scanf("%d", &p[u]), p[u]--; ^ ./Main.cpp:44:38: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] rep(u, N) scanf("%d", &q[u]), q[u]--; ^
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 | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 1 ms | 256 KB |
subtask_1_01.txt | AC | 1 ms | 256 KB |
subtask_1_02.txt | AC | 1 ms | 256 KB |
subtask_1_03.txt | AC | 44 ms | 14848 KB |
subtask_1_04.txt | AC | 99 ms | 28928 KB |
subtask_1_05.txt | AC | 68 ms | 22144 KB |
subtask_1_06.txt | AC | 33 ms | 10368 KB |
subtask_1_07.txt | AC | 88 ms | 28416 KB |
subtask_1_08.txt | AC | 40 ms | 12928 KB |
subtask_1_09.txt | AC | 40 ms | 14720 KB |
subtask_1_10.txt | AC | 88 ms | 27008 KB |
subtask_1_11.txt | AC | 17 ms | 5248 KB |
subtask_1_12.txt | AC | 126 ms | 36352 KB |
subtask_1_13.txt | AC | 50 ms | 17024 KB |
subtask_1_14.txt | AC | 16 ms | 4608 KB |
subtask_1_15.txt | AC | 36 ms | 12032 KB |
subtask_1_16.txt | AC | 70 ms | 19968 KB |
subtask_1_17.txt | AC | 32 ms | 11520 KB |
subtask_1_18.txt | AC | 139 ms | 33536 KB |
subtask_1_19.txt | AC | 78 ms | 24448 KB |
subtask_1_20.txt | AC | 152 ms | 39808 KB |
subtask_1_21.txt | AC | 76 ms | 24448 KB |
subtask_1_22.txt | AC | 73 ms | 24448 KB |
subtask_1_23.txt | AC | 155 ms | 41472 KB |
subtask_1_24.txt | AC | 146 ms | 42240 KB |
subtask_1_25.txt | AC | 87 ms | 24448 KB |
subtask_1_26.txt | AC | 71 ms | 24448 KB |
subtask_1_27.txt | AC | 153 ms | 39680 KB |
subtask_1_28.txt | AC | 75 ms | 24448 KB |
subtask_1_29.txt | AC | 153 ms | 38528 KB |
subtask_1_30.txt | AC | 76 ms | 24448 KB |
subtask_1_31.txt | AC | 76 ms | 24448 KB |
subtask_1_32.txt | AC | 153 ms | 39424 KB |
subtask_1_33.txt | AC | 143 ms | 42240 KB |
subtask_1_34.txt | AC | 86 ms | 24448 KB |
subtask_1_35.txt | AC | 71 ms | 24448 KB |
subtask_1_36.txt | AC | 155 ms | 42240 KB |
subtask_1_37.txt | AC | 154 ms | 41984 KB |
subtask_1_38.txt | AC | 153 ms | 41856 KB |
subtask_1_39.txt | AC | 156 ms | 38400 KB |
subtask_1_40.txt | AC | 154 ms | 38272 KB |
subtask_1_41.txt | AC | 153 ms | 40320 KB |
subtask_1_42.txt | AC | 151 ms | 29824 KB |
subtask_1_43.txt | AC | 156 ms | 38400 KB |
subtask_1_44.txt | AC | 155 ms | 42240 KB |
subtask_1_45.txt | AC | 150 ms | 37888 KB |
subtask_1_46.txt | AC | 150 ms | 42112 KB |
subtask_1_47.txt | AC | 157 ms | 37888 KB |
subtask_1_48.txt | AC | 158 ms | 42240 KB |
subtask_1_49.txt | AC | 148 ms | 30208 KB |
subtask_1_50.txt | AC | 153 ms | 41984 KB |
subtask_1_51.txt | AC | 150 ms | 41984 KB |
subtask_1_52.txt | AC | 155 ms | 41088 KB |
subtask_1_53.txt | AC | 150 ms | 41344 KB |
subtask_1_54.txt | AC | 152 ms | 37632 KB |
subtask_1_55.txt | AC | 154 ms | 41344 KB |
subtask_1_56.txt | AC | 151 ms | 34176 KB |
subtask_1_57.txt | AC | 159 ms | 39040 KB |
subtask_1_58.txt | AC | 150 ms | 36992 KB |
subtask_1_59.txt | AC | 155 ms | 40064 KB |
subtask_1_60.txt | AC | 155 ms | 35968 KB |
subtask_1_61.txt | AC | 148 ms | 35328 KB |
subtask_1_62.txt | AC | 154 ms | 41856 KB |
subtask_1_63.txt | AC | 162 ms | 38784 KB |
subtask_1_64.txt | AC | 156 ms | 42240 KB |