Skip to content

Latest commit

 

History

History
110 lines (94 loc) · 2.44 KB

matrix-multiplication.md

File metadata and controls

110 lines (94 loc) · 2.44 KB
  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

در ماتریکس دانشگاه، شما یک جوان پرشور و مشتاق در زمینه برنامه‌نویسی هستید. شما از کودکی به دنیای کدنویسی علاقه‌مند بوده و با شور و اشتیاق بی‌پایان به یادگیری و تلاش در این حوزه می‌پردازید. شما متوجه شده‌اید که می‌توانید برنامه‌ای بنویسید که ضرب ماتریس‌ها را انجام دهد و همه را از انجام این عملیات نجات دهید.

برنامه‌ای که می‌نویسید قادر است ضرب دو ماتریس را انجام دهد و اگر آن دو نتوانند ضرب شوند آن را گزارش می‌کند.

ورودی

در خط اول ( n_{1} ) و ( m_{1} ) به ترتیب تعداد ردیف و ستون ماتریس اول و در خط دوم ( n_{2} ) و ( m_{2} ) به ترتیب تعداد ردیف و ستون ماتریس دوم است به‌طوری که: [ 1 \leq n_{1}, n_{2}, m_{1}, m_{2} \leq 5 ]

سپس با توجه به اعداد داده شده دو ماتریس به شما داده خواهد شد.

خروجی

شما باید ماتریس حاصل را خروجی دهید و در صورت امکان‌پذیر نبودن آن Infeasible را خروجی دهید.

مثال‌ها

ورودی نمونه ۱

1 3
3 1
1 2 3
4
5
6

خروجی نمونه ۱

32

[ \begin{bmatrix} 1 & 2 & 3 \ \end{bmatrix} \times \begin{bmatrix} 4 \ 5 \ 6 \ \end{bmatrix}

\begin{bmatrix} 1 \cdot 4 + 2 \cdot 5 + 3 \cdot 6 \ \end{bmatrix}

\begin{bmatrix} 32 \ \end{bmatrix} ]

ورودی نمونه ۲

2 2
2 2
1 2
3 4
2 0
1 2

خروجی نمونه ۲

4 4
10 8

[ \begin{bmatrix} 1 & 2 \ 3 & 4 \ \end{bmatrix} \times \begin{bmatrix} 2 & 0 \ 1 & 2 \ \end{bmatrix}

\begin{bmatrix} 1 \cdot 2 + 2 \cdot 1 & 1 \cdot 0 + 2 \cdot 2 \ 3 \cdot 2 + 4 \cdot 1 & 3 \cdot 0 + 4 \cdot 2 \ \end{bmatrix}

\begin{bmatrix} 4 & 4 \ 10 & 8 \ \end{bmatrix} ]

ورودی نمونه ۳

2 2
1 2
1 2
3 4
2 0

خروجی نمونه ۳

Infeasible