请问各位dl本蒟蒻的代码为什么只过了2个点?
read()是快读...
谢谢
bool dfs(ll num) {
while (!A[num].empty()) {
ll xia = A[num].back();
A[num].pop_back();
if (B[xia] == 0 || dfs(B[xia]))return B[xia] = num;
}
return false;
}
int main() {
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
n = read() << 1 | 1; A.resize(n), B.resize(n, 0);
for (i = 1; i != n; ++i)
j = read() << 1, k = read() << 1,
A[i].push_back(j), A[i].push_back(j - 1),
A[i].push_back(k), A[i].push_back(k - 1);
for (i = 1; i != n; ++i)if (dfs(i))++m;
write(m, '\n');
}
>﹏<