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.

Entrada

A entrada possui apenas 1 caso de teste possuindo duas matrizes quadradas. A primeira linha possui um número NN ( 1N20001 \leq N \leq 2000) que representa a dimensão das matrizes, após existirão 2*N2 * N linhas com NN colunas que representam as matrizes. Cada coluna possui um inteiro CjC_j (0Cj655350 \leq C_j \leq 65535).

Saída

A saída é composta por NN linhas de NN colunas, contendo a matriz resultante da multiplicação das outras duas.

Tarefa

A solução trivial não é suficiente para resolver esse problema! Você deverá utilizar o conceito de processos para resolver este problema.

O processo que faz a leitura da matriz deverá criar DOIS (02) processos filhos, onde:

Exemplo

Exemplo de Entrada

2
1 2
3 4
9 8
7 6

Saída para o exemplo de entrada

23 20
55 48

Exemplo de Entrada

10
4 8 7 4 6 3 7 5 4 6
9 2 4 8 5 1 5 6 6 9
5 6 5 5 8 8 6 4 9 1
3 8 6 8 8 8 7 2 9 1
7 7 7 9 3 2 8 7 3 3
7 4 2 3 5 6 7 1 2 7
5 5 4 4 6 7 7 4 2 6
2 1 4 8 5 1 2 6 8 9
1 7 1 1 5 9 2 9 5 3
2 2 4 1 2 6 5 8 4 7
3 4 3 8 5 8 3 7 7 3
6 1 2 2 2 3 8 9 8 4
6 8 8 3 8 4 5 4 6 2
8 4 1 3 7 8 9 9 8 3
2 2 8 8 6 6 2 1 7 7
1 8 8 5 5 3 4 3 3 9
4 5 7 7 7 4 2 5 3 9
5 2 5 2 9 8 2 3 8 9
8 1 2 3 9 4 8 7 1 3
8 4 2 7 6 5 5 3 3 8

Saída para o exemplo de entrada

282 205 254 257 337 275 257 275 300 307
308 199 214 285 369 328 264 289 301 300
269 217 282 270 365 287 278 294 295 317
299 232 288 273 377 293 318 328 314 321
300 218 243 252 360 316 276 321 338 297
202 185 208 255 258 227 191 216 222 273
232 210 250 262 305 258 219 238 267 313
285 157 174 212 329 265 245 230 237 254
195 150 213 181 267 213 196 196 231 290
208 171 204 193 280 211 172 175 198 278

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