Matrix Sum

Matrix Sum

Medium Programming Interview OOP 22 views
Explanation Complexity

Problem Statement

Given {x}, Create Matrix class with add method. Output resulting matrix.

Input Format

First line r c. Next r lines matrix A. Next r lines matrix B.

Output Format

Matrix sum.

Example

2 2
1 2
3 4
10 20
30 40
11 22
33 44

Constraints

r*c

Input / Output Format

Input Format
First line r c. Next r lines matrix A. Next r lines matrix B.
Output Format
Matrix sum.
Constraints
r*c

Examples

Input:
2 2 1 2 3 4 10 20 30 40
Output:
11 22 33 44

Example Solution (Public)

Programming Interview
import sys
lines=sys.stdin.read().splitlines()
if not lines: sys.exit(0)
r,c=map(int,lines[0].split())
A=[]
B=[]
idx=1
for _ in range(r):
  A.append(list(map(int,(lines[idx] if idx<len(lines) else '').split()[:c]))); idx+=1
for _ in range(r):
  B.append(list(map(int,(lines[idx] if idx<len(lines) else '').split()[:c]))); idx+=1
class Matrix:
  def __init__(self,mat):
    self.mat=mat
  def add(self,other):
    res=[]
    for i in range(len(self.mat)):
      row=[]
      for j in range(len(self.mat[0])):
        row.append(self.mat[i][j]+other.mat[i][j])
      res.append(row)
    return Matrix(res)
M=Matrix(A).add(Matrix(B)).mat
out=[]
for row in M:
  out.append(' '.join(map(str,row)))
print('\
'.join(out))

Official Solution Code

import sys
lines=sys.stdin.read().splitlines()
if not lines: sys.exit(0)
r,c=map(int,lines[0].split())
A=[]
B=[]
idx=1
for _ in range(r):
  A.append(list(map(int,(lines[idx] if idx<len(lines) else '').split()[:c]))); idx+=1
for _ in range(r):
  B.append(list(map(int,(lines[idx] if idx<len(lines) else '').split()[:c]))); idx+=1
class Matrix:
  def __init__(self,mat):
    self.mat=mat
  def add(self,other):
    res=[]
    for i in range(len(self.mat)):
      row=[]
      for j in range(len(self.mat[0])):
        row.append(self.mat[i][j]+other.mat[i][j])
      res.append(row)
    return Matrix(res)
M=Matrix(A).add(Matrix(B)).mat
out=[]
for row in M:
  out.append(' '.join(map(str,row)))
print('\
'.join(out))
Please login to submit solutions.
Editor
Output

                                        
Please login to submit solutions.