Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <iostream>#include <algorithm>#include <vector>#include <cstring>using namespace std;vector<int> g[101000];int use[101000],a[101000];int n,s;void dfs(int x){//printf("!!!%d\n", x);use[x]=1;for (int i=0; i<g[x].size(); ++i)if (! use[g[x][i]]){dfs(g[x][i]); a[x]+=a[g[x][i]];}}int main(){int test=0;scanf("%d", &test);for (int T=1; T<=test; ++T){printf("Case #%d: ", T);scanf("%d %d", &n,&s); --s;for (int i=0; i<n; ++i){g[i].clear(); use[i]=0;}for (int i=0; i<n-1; ++i){