ATENCAO!!! ========== - `As listas que nao processarem os arquivos de acordo com as especificacoes abaixo, sera' atribuida a nota 0 (zero). - Nada devera ser impresso na tela!! ------------- - Questao 1 - ------------- Arquivo fonte: merge.c Arquivo de entrada: merge.in O arquivo de entrada consiste de varios conjuntos de dados. Cada conjunto comeca com uma linha contendo os numeros "d" de sequências e "n" a soma do numero de elementos de todas as sequencias. As proximas linhas contem "d" sequencias ordenadas. O arquivo de entrada e' terminado por um conjunto de dados comecando com "d = 0" e "n = 0". Esse conjunto nao deve ser processado. Entrada exemplo: 2 9 -10 0 125 130 -32000 -11111 0 125 32000 3 11 0 1 2 3 4 10000 -1 0 2 10 20 20 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 0 Arquivo de Saida: merge.out Para cada conjunto, primeiro imprima o numero do conjunto, como mostrado na saida exemplo. Entao, imprima a uniao das "d" sequencias ordenada. O tempo de execucao de seu algoritmo deve ser da ordem de O(n*logd).Uma linha em branco separa cada conjunto. Saida exemplo correspondente `a entrada acima: Conjunto #1 -32000 -11111 -10 0 0 125 125 130 32000 Conjunto #2 -1 0 0 1 2 2 3 4 10 20 10000 Conjunto #3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Observacoes: O valor maximo de "n" e' 100. ------------- - Questao 2 - ------------- Arquivo fonte: sum.c Arquivo de entrada: sum.in O arquivo de entrada consiste de varios conjuntos de dados. Cada conjunto comeca com uma linha contendo o valor do elemento soma "x"(O elemento que deve ser igual a soma de dois elementos cada um de S1 e S2 respectivamente ) e "n" a soma do numero de elementos das duas sequencias dadas. O arquivo de entrada e' terminado por um conjunto de dados comecando com "x = 0" e "n = 0". Esse conjunto nao deve ser processado. Entrada exemplo: 3 9 1 125 0 120 12 -11111 10 2 2000 5 10 0 1 2 -3 4 10000 -1 0 2 -4 0 0 Arquivo de Saida: sum.out Para cada conjunto, imprima primeiramente o numero do conjunto, como mostrado na saida exemplo. Entao, imprima que "Os numeros cuja soma é x são: n1 e n2" ou "Nao ha elementos cuja soma e' x". O tempo de execucao de seu algoritmo deve ser da ordem de O(n*logn). Uma linha em branco separa cada conjunto. Saida exemplo correspondente `a entrada acima: Conjunto #1 Os numeros cuja soma e' 3 sao: 1 e 2. Conjunto #2 Nao ha numeros cuja soma e': 5. Observacoes: O valor maximo de "n" e' 100. Nenhuma das sequencias será vazia. ------------- - Questao 3 - ------------- Arquivo de entrada: quick.in A primeira linha do arquivo contem um inteiro "n" sendo seguida por n linhas cada qual possuindo 0 < x < 21 inteiros a serem ordenados separados por espacos. Exemplo: 3 8 5 3 0 31234 6 5 -4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Arquivo de saida: quick.out Consiste em "n" linhas. A linha i deve possuir a i-esima sequencia da entrada ordenada com os elementos separados por espacos. Exemplo correspondente ao da entrada acima: 0 3 5 5 6 8 31234 -4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ------------- - Questao 4 - ------------- Arquivo fonte: perm.c Arquivo de entrada: perm.in A primeira linha possui um numero "n" e eh seguida por "n" vezes: - uma linha com 0