Submeter | Todas submissőes | Melhores | Voltar |
ULTIMO - Último a saber |
Na cidade onde você mora as notícias se espalham rápido, ainda mais depois que todos começaram a utilizar redes sociais. Todo mundo lá gosta de conversar sobre as notícias, mas se tem uma coisa que eles não gostam é de serem os últimos a saber de algo.
Geralmente, quando algo digno de comentários acontece, há um número K de pessoas presentes, as quais irão começar a contar os detalhes a todos os seus amigos. A notícia então se espalha da seguinte maneira: no primeiro dia há K pessoas que sabem da notícia; no segundo dia, todas as pessoas que são amigas de pelo menos uma das pessoas que sabia da notícia no dia passado ficará sabendo da notícia, caso ainda não saibam; nos dias seguintes, o processo se repete como no segundo dia.
Todas as pessoas que souberam da notícia no último dia em que se foi falado sobre a notícia consideram-se as últimas a saber, e não gostam nada disso. Aqueles que nem ao menos ficaram sabendo da notícia não se sentem tão ofendidos.
Sua tarefa é descobrir quem foram os últimos a saber.
Entrada
Haverá diversos casos de teste. Cada caso de teste inicia com três inteiros N, K e M (2 ≤ N ≤ 10⁴, 1 ≤ K < N, 1 ≤ M ≤ 10⁵), indicando o número de pessoas na cidade, o número de pessoas que sabiam da notícia no primeiro dia e o número de relacionamentos de amizade na cidade, respectivamente.
Em seguida haverá K inteiros distintos ki (1 ≤ ki ≤ N), indicando o índice das pessoas que sabiam da notícia no primeiro dia.
Em seguida haverá M linhas, contendo dois inteiros A e B (1 ≤ A, B ≤ N) cada, indicando que as pessoas com índice A e B são amigas.
O último caso de teste é indicado quando N = K = M = 0, o qual não deverá ser processado.
Saída
Para cada caso de teste imprima uma linha, contendo R inteiros separados por um espaço em branco, onde cada um dos inteiros representa o índice de uma das R pessoas que foram as últimas a saber da notícia. Imprima os índices em ordem crescente. Note que não deverá haver um espaço em branco após o último inteiro.
Exemplo
Entrada:3 1 2
1
1 2
3 1
4 2 3
3 2
4 2
3 2
3 1
3 2 1
1 2
2 1
0 0 0
Saída:2 3
1 4
1 2
Adicionado por: | crbonilha |
Data: | 2014-06-08 |
Tempo limite: | 1s |
Tamanho do fonte: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Linguagem permitida: | Todas exceto: ASM64 CLOJURE ERL FSHARP PERL6 PY_NBC SCALA TCL |
Origem: | 8o Contest Noturno |