fbpx

Problema #779 – VeciniPari – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Să se determine câte elemente din matrice au toți vecinii numere pare.

Date de intrare

Programul citește de la tastatură numerele n şi m, iar apoi n*m numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie.

Date de ieşire

Programul afișează pe ecran numărul C, reprezentând valoarea determinată.

Restricţii şi precizări

  • 1 ≤ m,n ≤ 100
  • elementele matricei vor fi mai mici decât 1.000.000
  • un element al matricei are cel mult patru vecini: pe linia anterioară și aceeași coloană, pe linia următoare și aceeași coloană, pe aceeași linie și coloana anterioară, pe aceeași linie și coloana următoare.

Exemplu

Date de intrare

4 7
15 27 40 41 32 42 12 
48 35 40 54 17 46 32 
37 52 40 18 11 46 23 
49 27 40 29 25 44 12 

Date de ieșire

5

Explicație

Valorile care au toți vecinii pari sunt (în ordine de sus în jos și de la stânga la dreapta): 41 42 12 40 23

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n , m , a[103][103] , cnt = 0;
    cin >> n >> m;
    for(int i = 0 ; i <= n+1 ; ++i)
        for(int j = 0 ; j <= m+1 ; ++j)
        {
            if(i==0 || j==0 || i==n+1 || j == m+1)
            a[i][j]=2;
            else cin >> a[i][j];
        }
    for(int i = 1 ; i <= n ; ++i)
        for(int j = 1 ; j <= m ; ++j)
        {
            int  ok = 1;
            if(a[i+1][j] % 2 != 0 || a[i][j+1] % 2 != 0 || a[i][j-1] % 2 != 0 || a[i-1][j] % 2 != 0) ok = 0;
            if(ok) cnt++;
        }
    cout << cnt;
    return 0;
}
Comentarii

S-ar putea sa iti placa