Multiplicação Matrizes

Implemente a versão clássica (e ineficiente) da multiplicação de matrizes1.

O programa deve ler da entrada padrão as duas matrizes e imprimir na tela o produto dessas duas matrizes.

A entrada possui apenas 1 caso de teste possuindo duas matrizes quadradas. A primeira linha possui um número N ( 1 ≤ N ≤ 5000) que representa a dimensão das matrizes, após existirão 2 * N linhas com N colunas que representam as matrizes.

Exemplo de Entrada

2
1 2
3 4
9 8
7 6

Pegue AQUI possui a entrada de duas matrizes 500x500 e o AQUI duas matrizes 1000x1000. - Note que os arquivos estão compactados e devem ser descompactados, leia bunzip2(1)

Execute o programa com a primitiva time para saber quanto tempo o seu programa demorou para ser executado

time ./multiplicamatriz < matriz-500.txt

Agora com a versão sequencial implementada, implemente uma versão paralela para esse mesmo algoritmo e execute a versão paralela (com 2,4,6,82 threads) com a primitiva time e identifique quanto mais rápido o seu programa ficou.


  1. http://pt.wikipedia.org/wiki/Produto_de_matrizes

  2. Possível solução