Arquivo fonte: L0Q1.java | L0Q1.c | L0Q1.cpp
Arquivo de entrada: L0Q1.in
Arquivo de saída: L0Q1.out
O arquivo de entrada consiste de uma seqüência
de conjuntos de dados. Cada conjunto de dados consiste em duas matrizes.
Entrada exemplo: Saída exemplo correspondente à entrada acima:
Uma matriz de consiste em dois valores L e N em uma linha, separados
por espaços. L representa o número de linhas da matriz e N, o número de
elementos por linha. Segue-se, então, L linhas cada uma com N inteiros,
correspondentes às posições (i, j) da matriz.
Separando cada conjunto temos uma linha em branco. O fim do arquivo indica que
não há mais conjuntos de dados. Os valores de L, N e Ai, j
variam da seguinte forma: 0 ≤ N,L ≤ 100 e 0 ≤ Ai, j ≤ 1000.
A matriz de saida será impressa de forma similar às matrizes de entrada
(não há necessidade da imprimir L e N, apenas os elementos da
matriz resultante). Caso a matriz resultante não exista (a multiplicação não
possa ser realizada), imprima -1
.
Pra cada conjunto de dados deveremos ter o número do conjunto de entrada e exatamente
uma matriz de saída (ou -1
). Após cada saída imprima uma linha em branco.
1 1
30
1 1
20
2 2
1 2
4 5
3 3
1 2 3
4 5 6
7 8 9
3 3
1 0 0
0 1 0
0 0 1
3 3
1 2 3
4 5 6
7 8 9
Conjunto #1
600
Conjunto #2
-1
Conjunto #3
1 2 3
4 5 6
7 8 9
Arquivo fonte: L0Q2.java | L0Q2.c | L0Q2.cpp
Arquivo de entrada: L0Q2.in
Arquivo de saída: L0Q2.out
O arquivo de entrada consiste de uma seqüência de conjuntos de dados.
Cada conjunto de dados consiste em uma matriz.
Uma matriz é definida de forma similar ao descrito na questão 1, mas os elementos
podem ser números reais.
Separando cada conjunto temos uma linha em branco. O fim do arquivo indica
que não há mais conjuntos de dados. Os valores de L, N e
Ai, j variam da seguinte forma: 0 ≤ N, L ≤ 20
e 0 ≤ Ai, j ≤ 100.
A matriz resultante de cada conjunto de dados deverá ser impressa de forma
similar à matriz de entrada (com excecao de L e N). Cada elemento Ri, j
da matriz resultante é calculado segundo a regra:
Ri, j = média aritmética dos elementos situados no retângulo
[(0,0) x (i,j)] da matriz de entrada
Pra cada conjunto de dados devemos ter o número do conjunto de entrada e exatamente
uma matriz resultante. Após cada matriz resultante imprima uma linha em branco.
OBS: cada elemento deve ser impresso com precisão de duas casas decimais.
Entrada exemplo:
2 2 10.45 0.0 9.55 0.0 2 2 1 2 2 3 3 3 1 0 0 0 1 0 0 0 1
Saída exemplo correspondente à entrada acima:
Conjunto #1 10.45 5.23 10.00 5.00 Conjunto #2 1.00 1.50 1.50 2.00 Conjunto #3 1.00 0.50 0.33 0.50 0.50 0.33 0.33 0.33 0.33
Arquivo fonte: L0Q3.java | L0Q3.c | L0Q3.cpp
Arquivo de entrada: L0Q3.in
Arquivo de saída: L0Q3.out
O arquivo de entrada consiste de uma seqüência de conjuntos de dados.
Cada conjunto de dados consiste numa declaração de uma matriz
tridimensional e numa lista de inteiros a pesquisar nesta matriz.
Entrada exemplo:
Cada matriz tridimensional é definida da seguinte forma: uma primeira linha
contém três inteiros L, C, e N indicando, repectivamente
o número de linhas, número de colunas e a 'profundidade' da matriz.
Seguem-se L conjunto de linhas de arquivo. Cada conjunto consiste em
C linhas com N inteiros cada uma. (uma matriz de ordem (2,3,4)
teria dois conjuntos, cada um com 3 linhas, cada linha com quatro elementos -
um total de seis linhas de arquivo)
Cada lista de inteiros a pesquisar é definida por: um inteiro indicando a
quantidade K de numeros a pesquisar, numa linha. Os K números
(inteiros) separados por espaços na linha seguinte.
Separando cada conjunto de dados temos uma linha em branco. O fim do arquivo
indica que não há mais conjuntos de dados. Os valores variam da seguinte forma:
0 ≤ L, C, N ≤ 50 e 0 ≤ Aij ≤ 1000.
A saída para cada conjunto de dados terá K+1 linhas, onde K é o número
de inteiros que foram pesquisados na matriz.
A primeira linha deve conter o número do conjunto de entrada. Para cada uma
das linhas restantes, imprima o numero inteiro que foi pesquisado seguido por
todas as triplas (i,j,k) onde o elemento K foi encontrado. Separe o
elemento K das triplas por um espaço em branco. Separe as triplas com
espaço em branco.
Uma linha em branco deverá ser impressa após cada conjunto de solução.
OBS: as posições (i, j, k) devem ser ordenadas de acordo com o
menor valor de i. Em caso de empate, fazer o mesmo para j. O
mesmo vale para k.
2 2 2 1 3 3 5 5 7 7 7 4 1 3 5 7 1 1 1 1 1 1
Saída exemplo correspondente à entrada acima:
Conjunto #1
1 (1,1,1)
3 (1,1,2) (1,2,1)
5 (1,2,2) (2,1,1)
7 (2,1,2) (2,2,1) (2,2,2)
Conjunto #2
1 (1,1,1)