# PBinfo #3165 – MatrDivImp1 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Se consideră o matrice cu m linii și n coloane, numere naturale. Folosind metoda Divide et Impera, determinați suma numerelor pare din matrice.

Date de intrare
Programul citește de la tastatură numerele m și n, iar apoi cele m * n elemente ale matricei.

Date de ieșire
Programul va afișa pe ecran numărul S, reprezentând suma numerelor pare din matrice.

Restricții și precizări

1 ≤ m, n ≤ 100
numerele din matrice vor fi mai mici decât 1.000.000

Exemplu:
Intrare

3 5
1 2 3 4 5
2 4 6 1 7
1 3 4 5 9
Ieșire

22

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int a[101][101], m, n;
long long sum(int l1,int c1,int l2,int c2)
{
    if (l2<l1 || c2<c1) return 0;
    if (l1==l2 && c1==c2)
        if (a[l1][c1]%2==0)
            return a[l1][c1];
        else
            return 0;
    else
    {
        int lm=(l1+l2)/2;
        int cm=(c1+c2)/2;
        long long s=0;
        s=s+sum(l1,c1,lm,cm);
        s=s+sum(l1,cm+1,lm,c2);
        s=s+sum(lm+1,c1,l2,cm);
        s=s+sum(lm+1,cm+1,l2,c2);
        return s;
    }
}
int main()
{
    cin>>m>>n;
    for (int i=1;i<=m;i++)
        for (int j=1;j<=n;j++)
            cin>>a[i][j];
    cout<<sum(1,1,m,n);
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/3165)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/3165/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-3165/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
