propongo una sfida ai merd del forum
dopo aver iniziato , spinto dalla capata di emulare questo gioco, a leggiucchiare qualcosa di approfondito sugli alberi di decisione (nun cio dicit o raggiunier che questo sito non usa la magia
) mi è venuta la barbara idea di inventarmi (in realtà non so se me la sto inventando io o già esiste) un implementazione basata su una matrice
visto che siete bravi, lascio a voi il piacere di capire come funziona l'algoritmo.....mi sfastereo di spiegarlo
Spoiler#include <iostream>
using namespace std;
int main ()
{
//MAT: conoscenza dell'indovino
//RIGHE personaggi
//COLONNE risposte corrette
//matrice riempita a casaccio
int mat[5][5] =
{
{ 1 , 0 , 1 , 0 , 1 } ,
{ 0 , 1 , 0 , 1 , 0 } ,
{ 1 , 1 , 0 , 1 , 1 } ,
{ 0 , 0 , 1 , 0 , 0 } ,
{ 1 , 0 , 1 , 1 , 1 }
};
int answer;
//personaggi da scartare
bool row_state[5] = {true , true , true , true , true};
//-----------------------------ALGORITMO--------------------------------
for (int j = 0 ; j < 5 ; j++)
{
cout << "domanda numero " << j << ": ";
cin >> answer;
for (int i = 0 ; i < 5 ; i++)
{
if (row_state)
{
if (answer != mat[j])
{
row_state = false;
}
}
}
}
//------------------------------------------------------------------------
bool found_answer = false;
for (int i = 0 ; i < 5 ; i++)
{
if (row_state)
{
cout << "stavi pensando a " << i << "?\n";
found_answer = true;
}
}
if (!found_answer)
{
cout << "mi arrendo!!!\n";
}
return 0;
}
ovviamente è un implementazione ancora molto ma molto pane e puparuoli, ma credo che si possano fare su cose interessanti. chi avesse consigli e suggerimenti, parlasse pure