Cubra os Caminhos
É dada uma arvore bidirecional e sem pesos, consistindo de vértices, numeradas de
à
. Um total de
caminhos simples são escolhidos nessa árvore, cada caminho sendo descrito como o par de vértices
, seus pontos de início e fim.
Seja o conjunto de todas as vértices da árvore. Chamaremos um subconjunto
contido em
de
se, para cada
dos
caminhos, ao menos um dos vértices do caminho entre
e
esteja contido em
. Chamaremos um subconjunto
, contido em
de
se
for um subconjunto
, e não existe nenhum subconjunto
, tal que o número de elementos de
seja menor que o número de elementos de
Encontre um subconjunto de
.
Entrada
A primeira linha contém, um inteiro , o número de vértices.
Cada uma das próximas linhas contém dois inteiros
e
, indicando que existe uma aresta entre
e
. É garantido que essas arestas formam uma árvore.
A próxima linha contém um inteiro , o número de caminhos escolhidos.
As próximas linhas contém dois inteiros:
e
, os extremos do
- ésimo caminho. Podem existir caminhos iguais, e pode existir um caminho
, tal que
.
Saída
A primeira linha da saída deve conter um inteiro , o tamanho de um subconjunto
.
A segunda linha deve conter inteiros, os números dos vértices contidos em um subconunto
, em qualquer ordem.
Caso exista mais de um subconjunto , imprima qualquer um deles.
Restrições:
Exemplos:
Entrada | Saida |
4 1 2 2 3 2 4 2 1 2 4 2 |
1 2 |
Entrada | Saida |
6 1 2 2 3 3 4 5 6 5 2 5 2 1 6 6 1 4 3 4 4 1 |
3 6 3 1 |
Para submeter sua solução, use esse link.