코드#include #include #include using namespace std;int n,r,q,u,v,k,res, visited[100003],dp[100003];vector adj[100003];// dfs로 그래프를 순회하면서, dp 배열에 값 저장 => 서브트리에 속한 정점의 수 저장int dfs(int x) { if(dp[x] != 0) return dp[x]; // 메모이제이션 visited[x] = 1; int ret = 1; for(int i : adj[x]) { if(!visited[i]) { ret += dfs(i); } } dp[x] = ret; return ret;}int main() { ..