c++
Aparatele pentru perforarea tichetelor de călătorie în transportul public folosesc 9 puncte de perforare, dispuse în formă de matrice 3X3. Să se genereze toate modalitățile în care pot fi perforate biletele.
Răspunsuri la întrebare
Răspuns de
6
Nota :
- Este considerata valida si solutia in care niciunul din punctele de perforare nu este perforat
- Am folosit un vector pentru generare (pentru ca este mai usor de generat un vector decat o matrice) apoi am afisat vectorul sub forma de matrice.
- Avem solutii valide (fiecare pozitie are doua variante - fie este performata, fie nu ; avand 9 pozitii aplicam regula produsului)
- Ai atat programul cat si solutia atasate in fisier.
Program C++:
#include <iostream>
using namespace std;
void afisare_solutie(bool v[]) {
int index;
for (index = 1; index <= 9; index++) {
cout << v[index] << " ";
if (index % 3 == 0)
cout << endl;
}
cout << endl << endl;
}
void backtraking_modele_bilete(bool v_sol[], int index) {
if (index >= 10) {
afisare_solutie(v_sol);
}
else {
v_sol[index] = 0;
backtraking_modele_bilete(v_sol, index + 1);
v_sol[index] = 1;
backtraking_modele_bilete(v_sol, index + 1);
}
}
int main() {
bool v_sol[10] = { 0 };
backtraking_modele_bilete(v_sol, 1);
}
Anexe:
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă