Submission #38402744
Source Code Expand
#include<bits/stdc++.h>
#define N 5009
using namespace std;
typedef long long ll;
const int mod=998244353;
int n;
int head[N],tot,dp[N][N][2],siz[N],g[N][2];
inline ll rd(){
ll x=0;char c=getchar();bool f=0;
while(!isdigit(c)){if(c=='-')f=1;c=getchar();}
while(isdigit(c)){x=(x<<1)+(x<<3)+(c^48);c=getchar();}
return f?-x:x;
}
struct edge{
int n,to;
}e[N<<1];
inline void add(int u,int v){
e[++tot].n=head[u];
e[tot].to=v;
head[u]=tot;
}
void MOD(int &x){
x=x>=mod?x-mod:x;
}
void dfs(int u,int fa){
siz[u]=1;
dp[u][1][1]=1;
dp[u][0][0]=1;
for(int i=head[u];i;i=e[i].n)if(e[i].to!=fa){
int v=e[i].to;
dfs(v,u);
for(int j=0;j<=siz[u];++j)
for(int k=0;k<=siz[v];++k){
MOD(g[j+k][1]+=1ll*dp[u][j][1]*dp[v][k][0]%mod);
MOD(g[j+k][0]+=1ll*dp[u][j][0]*dp[v][k][0]%mod);
MOD(g[j+k][0]+=1ll*dp[u][j][0]*dp[v][k][1]%mod);
if(j&&k)MOD(g[j+k-1][1]+=1ll*dp[u][j][1]*dp[v][k][1]%mod);
}
siz[u]+=siz[v];
for(int j=0;j<=siz[u];++j){
dp[u][j][0]=g[j][0];
dp[u][j][1]=g[j][1];
g[j][0]=g[j][1]=0;
}
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin>>n;
int u,v;
for(int i=1;i<n;++i){
cin>>u>>v;
add(u,v);
add(v,u);
}
dfs(1,0);
for(int i=1;i<=n;++i){
cout<<(dp[1][i][0]+dp[1][i][1])%mod<<'\n';
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Components |
| User | comld |
| Language | C++ (GCC 9.2.1) |
| Score | 500 |
| Code Size | 1354 Byte |
| Status | AC |
| Exec Time | 226 ms |
| Memory | 121004 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 | 6 ms | 3548 KiB |
| 00_sample_01.txt | AC | 1 ms | 3512 KiB |
| 00_sample_02.txt | AC | 2 ms | 3556 KiB |
| 01_srnd_00.txt | AC | 2 ms | 3528 KiB |
| 01_srnd_01.txt | AC | 2 ms | 3492 KiB |
| 01_srnd_02.txt | AC | 2 ms | 3568 KiB |
| 01_srnd_03.txt | AC | 2 ms | 3576 KiB |
| 01_srnd_04.txt | AC | 2 ms | 3544 KiB |
| 01_srnd_05.txt | AC | 1 ms | 3544 KiB |
| 01_srnd_06.txt | AC | 2 ms | 3676 KiB |
| 01_srnd_07.txt | AC | 2 ms | 3624 KiB |
| 02_rnd_00.txt | AC | 106 ms | 24188 KiB |
| 02_rnd_01.txt | AC | 103 ms | 24100 KiB |
| 02_rnd_02.txt | AC | 102 ms | 24204 KiB |
| 02_rnd_03.txt | AC | 99 ms | 23940 KiB |
| 02_rnd_04.txt | AC | 101 ms | 24180 KiB |
| 02_rnd_05.txt | AC | 102 ms | 24124 KiB |
| 02_rnd_06.txt | AC | 103 ms | 24044 KiB |
| 02_rnd_07.txt | AC | 102 ms | 24268 KiB |
| 03_path_00.txt | AC | 226 ms | 120992 KiB |
| 03_path_01.txt | AC | 174 ms | 81952 KiB |
| 03_path_02.txt | AC | 226 ms | 121004 KiB |
| 03_path_03.txt | AC | 224 ms | 120924 KiB |
| 04_star_00.txt | AC | 205 ms | 23712 KiB |
| 04_star_01.txt | AC | 204 ms | 23756 KiB |
| 04_star_02.txt | AC | 152 ms | 23708 KiB |
| 04_star_03.txt | AC | 154 ms | 23784 KiB |
| 05_caterpillar_00.txt | AC | 105 ms | 26604 KiB |
| 05_caterpillar_01.txt | AC | 134 ms | 47012 KiB |
| 05_caterpillar_02.txt | AC | 160 ms | 71488 KiB |
| 05_caterpillar_03.txt | AC | 169 ms | 76344 KiB |
| 05_caterpillar_04.txt | AC | 156 ms | 67096 KiB |
| 05_caterpillar_05.txt | AC | 132 ms | 47128 KiB |
| 05_caterpillar_06.txt | AC | 107 ms | 26892 KiB |
| 05_caterpillar_07.txt | AC | 102 ms | 25752 KiB |
| 05_caterpillar_08.txt | AC | 107 ms | 29536 KiB |
| 05_caterpillar_09.txt | AC | 215 ms | 72236 KiB |
| 05_caterpillar_10.txt | AC | 177 ms | 56176 KiB |
| 05_caterpillar_11.txt | AC | 109 ms | 27088 KiB |
| 05_caterpillar_12.txt | AC | 104 ms | 26476 KiB |
| 05_caterpillar_13.txt | AC | 106 ms | 26752 KiB |
| 06_bintree_00.txt | AC | 101 ms | 24104 KiB |
| 06_bintree_01.txt | AC | 101 ms | 24308 KiB |
| 06_bintree_02.txt | AC | 75 ms | 20332 KiB |
| 06_bintree_03.txt | AC | 74 ms | 20376 KiB |
| 06_bintree_04.txt | AC | 72 ms | 20324 KiB |
| 06_bintree_05.txt | AC | 74 ms | 20648 KiB |
| 06_bintree_06.txt | AC | 73 ms | 20688 KiB |
| 06_bintree_07.txt | AC | 77 ms | 20700 KiB |
| 07_sqrt_00.txt | AC | 105 ms | 23744 KiB |
| 07_sqrt_01.txt | AC | 103 ms | 23812 KiB |
| 07_sqrt_02.txt | AC | 104 ms | 23776 KiB |
| 07_sqrt_03.txt | AC | 104 ms | 23844 KiB |
| 08_one_00.txt | AC | 3 ms | 3512 KiB |