| 51 | } |
| 52 | |
| 53 | void bfs(int s = 0){ |
| 54 | queue<int> Q; |
| 55 | vis[s] = true; |
| 56 | dist[s] = 0; |
| 57 | Q.push(s); |
| 58 | while(!Q.empty()){ |
| 59 | int u = Q.front(); |
| 60 | Q.pop(); |
| 61 | ans[dist[u]]++; |
| 62 | ans[node[u].len+1]--; |
| 63 | for(const auto& [c, v] : node[u].nxt){ |
| 64 | if(!vis[v]){ |
| 65 | dist[v] = dist[u]+1; |
| 66 | vis[v] = true; |
| 67 | Q.push(v); |
| 68 | } |
| 69 | } |
| 70 | } |
| 71 | } |
| 72 | |
| 73 | int main(){ |
| 74 | scanf(" %s", S); |