22. Prevod - rešenje
/*
Niz je ppnn (parno-parno-neparno-neparan) ako se na parnim pozicijama u nizu (0, 2, 4, ...)
nalaze isključivo parni, a na neparnim pozicijama u nizu (1, 3, 5, ...) isključivo neparni brojevi.
Napiši program koji za nekoliko učitanih nizova proverava da li su ppnn nizovi.
Ulaz
Sa standardnog ulaza se učitavaju brojevi n(5≤n≤100) i k(5≤k≤100) a zatim iz n narednih redova n
nizova od po k elemenata čija je vrednost između 0 i 1000.
Izlaz
Za svaki od učitanih nizova na standardni izlaz ispisati da ako zadovoljava ppnn uslov, a u suprotnom ne.
Primer
Ulaz
3 5
1 2 3 4 5
2 3 4 5 6
4 7 0 9 2
Izlaz
ne
da
da
Objašnjenje
U prvom nizu se na poziciji 0 koja je parna nalazi broj 1, koji je neparan.
U drugom nizu se na parnim pozicijama nalaze brojevi 2, 4 i 6, koji su parni, a na neparnim pozicijama brojevi 3 i 5, koji su neparni.
U trećem nizu se na parnim pozicijama nalaze brojevi 4, 0 i 2, koji su parni, a na neparnim pozicijama brojevi 7 i 9, koji su neparni.
*/
#include <iostream>
#include <vector>
using namespace std;
bool isPPNN(const vector<int>& arr) {
for (int i = 0; i < arr.size(); i++) {
if (i % 2 == 0) { // Parna pozicija
if (arr[i] % 2 != 0) {
return false;
}
} else { // Neparna pozicija
if (arr[i] % 2 == 0) {
return false;
}
}
}
return true;
}
int main() {
int n, k;
cin >> n >> k;
vector<vector<int>> arrays(n, vector<int>(k));
for (int i = 0; i < n; ++i) {
for (int j = 0; j < k; ++j) {
cin >> arrays[i][j];
}
}
for (const auto& arr : arrays) {
if (isPPNN(arr)) {
cout << "da" << endl;
} else {
cout << "ne" << endl;
}
}
return 0;
}