Diferente pentru problema/operatii2 intre reviziile #1 si #5

Diferente intre titluri:

operatii2
Operatii2

Diferente intre continut:

== include(page="template/taskheader" task_id="operatii2") ==
Poveste şi cerinţă...
Fiind date două tablouri bidimensionale a şi b, cu m linii şi n coloane fiecare, definim următoarele operaţii:
 
# Suma tablourilor $a$ şi $b$, ca fiind un tablou $c$ cu $m$ linii şi $n$ coloane, în care fiecare element este egal cu suma elementelor de pe aceeaşi linie şi coloană din $a$ şi $b$. În acest caz folosim operatorul $+$, adică $c = a + b$.
# Produsul tablourilor $a$ şi $b$, ca fiind un tablou $d$ cu $m$ linii şi $n$ coloane, in care fiecare element este egal cu produsul elementelor de pe aceeşi linie şi coloană din $a$ şi $b$. În acest caz folosim operatorul $*$, adică $d = a * b$. Dacă $a$ şi $b$ sunt tablouri identice ({$a$} şi $b$ au elemente identice pe aceeaşi poziţie), atunci pentru $d$ se mai foloseşte şi notaţia $a^2^$ sau $b^2^$.
 
h3. Exemplu:
 
Pentru $m = 2$, $n = 3$ şi tablourile:
 
<tex>  a = \begin{matrix}
1 & 5 & 7 \\
2 & 15 & 3
\end{matrix}
</tex>  şi  <tex> b = \begin{matrix}
2 & 10 & 100 \\
1 & 8 & 0
\end{matrix}
</tex>
 
Se obţine:
 
<tex>
a + b = \begin{matrix}
3 & 15 & 107 \\
3 & 23 & 3
\end{matrix}
</tex>  ,  <tex>
a * b = \begin{matrix}
2 & 50 & 700 \\
2 & 120 & 0
\end{matrix}
</tex>  ,  <tex>
a^2 = \begin{matrix}
1 & 25 & 49 \\
4 & 225 & 9
\end{matrix}
</tex>  ,  <tex>
b^2 = \begin{matrix}
4 & 100 & 10000 \\
1 & 64 & 0
\end{matrix}
</tex>  .
 
Fiind dat un tablou bidimensional $a$, cu $m$ linii, $n$ coloane şi componente numere naturale dorim să determinăm un şir de tablouri bidimensionale: $b{~1~}, b{~2~}, ..., b{~k~}$ cu număr minim de termeni ({$k$} minim), cu proprietatea că $a = b{~1~}^2^ + b{~2~}^2^ + ... + b{~k~}^2^$.
 
h2. Cerinţă
 
Să se scrie un program care determină tablourile bidimensionale $b{~1~}, b{~2~}, ..., b{~k~}$ cu proprietatea din enunţ.
h2. Date de intrare
Fişierul de intrare $operatii2.in$ ...
Fişierul de intrare $operatii.in$ conţine pe prima linie numerele naturale $m$ şi $n$ separate prin câte un spaţiu. Pe umătoarele $m$ linii se află elementele tabloului $a$, câte $n$ numere pe o linie, în cadrul unei linii numerele fiind separate între ele prin câte un spaţiu.
h2. Date de ieşire
În fişierul de ieşire $operatii2.out$ ...
Fişierul de ieşire $operatii.out$ conţine pe prima linie un număr natural reprezentând valoarea $k$, apoi pe următoarele $k * m$ linii elementele celor $k$ tablouri $b{~1~}, b{~2~}, ..., b{~k~}$. Fiecare dintre aceste tablouri va fi scris pe câte $m$ linii consecutive, iar pe fiecare dintre aceste linii se vor afla câte $n$ numere separate prin câte un spaţiu.
h2. Restricţii
* $... &le; ... &le; ...$
* $1 &le; m, n &le; 200$
* Componentele tabloului a sunt numere naturale $&le; 10 000$.
* Pot exista mai multe solutii, dar în fişierul de ieşire se va scrie una dintre ele.
* $30%$ din teste au componentele tabloului a mai mici sau cel mult egale cu $100$ şi $m, n &le; 100$.
* $60%$ din teste au componentele tabloului a mai mici sau cel mult egale cu $1 000$.
 
h2. Exemplu
table(example). |_. operatii2.in |_. operatii2.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
| 2 3
1 2 4
5 5 9
| 2
1 1 0
2 2 3
0 1 2
1 1 0
|
h3. Explicaţie
...
$a$ este:  <tex> \begin{matrix}
1 & 2 & 4 \\
5 & 5 & 9
\end{matrix}
</tex> .
 
$b{~1~}$ este: <tex> \begin{matrix}
1 & 1 & 0 \\
2 & 2 & 3
\end{matrix}
</tex>  iar $b{~1~}^2^$ este: <tex> \begin{matrix}
1 & 1 & 0 \\
4 & 4 & 9
\end{matrix}
</tex> .
 
$b{~2~}$ este: <tex> \begin{matrix}
0 & 1 & 2 \\
1 & 1 & 0
\end{matrix}
</tex>  iar $b{~2~}^2^$ este: <tex> \begin{matrix}
0 & 1 & 4 \\
1 & 1 & 0
\end{matrix}
</tex> .
 
Se observă că $b{~1~}^2^ + b{~2~}^2^ = a$.
== include(page="template/taskfooter" task_id="operatii2") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
4062