Submission #38492131
Source Code Expand
/* * File created on 01/30/2023 at 18:37:19. * Link to problem: * Description: * Time complexity: O() * Space complexity: O() * Status: --- * Copyright: Ⓒ 2023 Francois Vogel */ #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; #define pii pair<int, int> #define f first #define s second #define vi vector<int> #define all(x) x.begin(), x.end() #define sz(x) (int)((x).size()) #define pb push_back #define ins insert #define cls clear #define int ll #define ll long long #define ld long double typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; const int siz = 5040; const int MOD = 998244353; vi graph [siz]; vector<vi> dfs(int x, int p = -1) { vector<vi> dp = {{1, 0}, {0, 1}}; for (int y : graph[x]) if (y != p) { auto ret = dfs(y, x); vector<vi> ndp = vector<vi>(2, vi(sz(dp[0])+sz(ret[0])-1, 0)); for (int j = 0; j < sz(dp[0]); j++) { for (int k = 0; k < sz(ret[0]); k++) { ndp[0][j+k] += dp[0][j]*(ret[0][k]+ret[1][k])%MOD; ndp[0][j+k] %= MOD; ndp[1][j+k] += dp[1][j]*ret[0][k]%MOD; ndp[1][j+k] %= MOD; if (j+k > 0) { ndp[1][j+k-1] += dp[1][j]*ret[1][k]%MOD; ndp[1][j+k-1] %= MOD; } } } swap(dp, ndp); } return dp; } signed main() { cin.tie(0); ios_base::sync_with_stdio(0); int n; cin >> n; for (int i = 0; i < n-1; i++) { int x, y; cin >> x >> y; x--; y--; graph[x].pb(y); graph[y].pb(x); } vector<vi> dp = dfs(0); for (int i = 1; i <= n; i++) { cout << (dp[0][i]+dp[1][i])%MOD << "\n"; } cout.flush(); int d = 0; d++; }
Submission Info
Submission Time | |
---|---|
Task | F - Components |
User | fvogel |
Language | C++ (GCC 9.2.1) |
Score | 500 |
Code Size | 1999 Byte |
Status | AC |
Exec Time | 193 ms |
Memory | 6000 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_srnd_00.txt, 01_srnd_01.txt, 01_srnd_02.txt, 01_srnd_03.txt, 01_srnd_04.txt, 01_srnd_05.txt, 01_srnd_06.txt, 01_srnd_07.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 02_rnd_05.txt, 02_rnd_06.txt, 02_rnd_07.txt, 03_path_00.txt, 03_path_01.txt, 03_path_02.txt, 03_path_03.txt, 04_star_00.txt, 04_star_01.txt, 04_star_02.txt, 04_star_03.txt, 05_caterpillar_00.txt, 05_caterpillar_01.txt, 05_caterpillar_02.txt, 05_caterpillar_03.txt, 05_caterpillar_04.txt, 05_caterpillar_05.txt, 05_caterpillar_06.txt, 05_caterpillar_07.txt, 05_caterpillar_08.txt, 05_caterpillar_09.txt, 05_caterpillar_10.txt, 05_caterpillar_11.txt, 05_caterpillar_12.txt, 05_caterpillar_13.txt, 06_bintree_00.txt, 06_bintree_01.txt, 06_bintree_02.txt, 06_bintree_03.txt, 06_bintree_04.txt, 06_bintree_05.txt, 06_bintree_06.txt, 06_bintree_07.txt, 07_sqrt_00.txt, 07_sqrt_01.txt, 07_sqrt_02.txt, 07_sqrt_03.txt, 08_one_00.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 2 ms | 3692 KiB |
00_sample_01.txt | AC | 2 ms | 3768 KiB |
00_sample_02.txt | AC | 2 ms | 3740 KiB |
01_srnd_00.txt | AC | 2 ms | 3696 KiB |
01_srnd_01.txt | AC | 2 ms | 3692 KiB |
01_srnd_02.txt | AC | 2 ms | 3748 KiB |
01_srnd_03.txt | AC | 1 ms | 3620 KiB |
01_srnd_04.txt | AC | 2 ms | 3728 KiB |
01_srnd_05.txt | AC | 2 ms | 3668 KiB |
01_srnd_06.txt | AC | 2 ms | 3668 KiB |
01_srnd_07.txt | AC | 2 ms | 3744 KiB |
02_rnd_00.txt | AC | 92 ms | 4200 KiB |
02_rnd_01.txt | AC | 97 ms | 4144 KiB |
02_rnd_02.txt | AC | 93 ms | 4208 KiB |
02_rnd_03.txt | AC | 92 ms | 4148 KiB |
02_rnd_04.txt | AC | 95 ms | 4264 KiB |
02_rnd_05.txt | AC | 93 ms | 4036 KiB |
02_rnd_06.txt | AC | 93 ms | 4188 KiB |
02_rnd_07.txt | AC | 97 ms | 4084 KiB |
03_path_00.txt | AC | 179 ms | 6000 KiB |
03_path_01.txt | AC | 142 ms | 5432 KiB |
03_path_02.txt | AC | 177 ms | 5892 KiB |
03_path_03.txt | AC | 176 ms | 5968 KiB |
04_star_00.txt | AC | 191 ms | 4268 KiB |
04_star_01.txt | AC | 193 ms | 4176 KiB |
04_star_02.txt | AC | 144 ms | 4012 KiB |
04_star_03.txt | AC | 143 ms | 4148 KiB |
05_caterpillar_00.txt | AC | 104 ms | 4128 KiB |
05_caterpillar_01.txt | AC | 129 ms | 4732 KiB |
05_caterpillar_02.txt | AC | 170 ms | 5036 KiB |
05_caterpillar_03.txt | AC | 162 ms | 5104 KiB |
05_caterpillar_04.txt | AC | 176 ms | 5012 KiB |
05_caterpillar_05.txt | AC | 134 ms | 4528 KiB |
05_caterpillar_06.txt | AC | 95 ms | 4056 KiB |
05_caterpillar_07.txt | AC | 93 ms | 4204 KiB |
05_caterpillar_08.txt | AC | 98 ms | 4112 KiB |
05_caterpillar_09.txt | AC | 134 ms | 5020 KiB |
05_caterpillar_10.txt | AC | 122 ms | 4568 KiB |
05_caterpillar_11.txt | AC | 95 ms | 4156 KiB |
05_caterpillar_12.txt | AC | 93 ms | 4192 KiB |
05_caterpillar_13.txt | AC | 94 ms | 4164 KiB |
06_bintree_00.txt | AC | 92 ms | 4084 KiB |
06_bintree_01.txt | AC | 93 ms | 4188 KiB |
06_bintree_02.txt | AC | 69 ms | 4068 KiB |
06_bintree_03.txt | AC | 65 ms | 3924 KiB |
06_bintree_04.txt | AC | 67 ms | 3920 KiB |
06_bintree_05.txt | AC | 69 ms | 4056 KiB |
06_bintree_06.txt | AC | 68 ms | 4080 KiB |
06_bintree_07.txt | AC | 68 ms | 4012 KiB |
07_sqrt_00.txt | AC | 95 ms | 4152 KiB |
07_sqrt_01.txt | AC | 101 ms | 4160 KiB |
07_sqrt_02.txt | AC | 98 ms | 4096 KiB |
07_sqrt_03.txt | AC | 101 ms | 4040 KiB |
08_one_00.txt | AC | 2 ms | 3552 KiB |