CF1830A Copil Copac Draws Trees

题目描述

Copil Copac 得到了一棵有 $n$ 个顶点的树的 $n-1$ 条边的列表。他决定用如下算法绘制这棵树: - 第 $0$ 步:画出第一个顶点(顶点 $1$)。进入第 $1$ 步。 - 第 $1$ 步:对于输入中的每一条边,按顺序:如果这条边连接了一个已经画出的顶点 $u$ 和一个未画出的顶点 $v$,他就画出未画出的顶点 $v$ 以及这条边。检查完所有边后,进入第 $2$ 步。 - 第 $2$ 步:如果所有顶点都已画出,算法终止。否则,回到第 $1$ 步。 “读边次数”定义为 Copil Copac 执行第 $1$ 步的次数。 请你求出 Copil Copac 绘制这棵树所需的读边次数。

输入格式

每个测试点包含多个测试用例。输入的第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的数量。接下来是每个测试用例的描述。 每个测试用例的第一行包含一个整数 $n$($2 \le n \le 2 \cdot 10^5$),表示树的顶点数。 接下来的 $n-1$ 行,每行包含两个整数 $u_i$ 和 $v_i$($1 \le u_i, v_i \le n$,$u_i \neq v_i$),表示第 $i$ 条边连接 $u_i$ 和 $v_i$。保证给出的边集构成一棵树。 保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。

输出格式

对于每个测试用例,输出 Copil Copac 绘制这棵树所需的读边次数。

说明/提示

在第一个测试用例中: 第一次读边后,树的样子如下: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1830A/96592d8d6a7376d06a499045a206685f9a68df31.png) 第二次读边后: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1830A/7b7bd2d2b1a9ad0d44021bb292052bd1a2395dfd.png) 因此,Copil Copac 需要 $2$ 次读边才能画出这棵树。 由 ChatGPT 4.1 翻译