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; }