430
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