#include <iostream>
#include <vector>
#include <string>
using namespace std;
void displayKMap(const vector<vector<int>>& kmap) {
cout << "Karnaugh Map:" << endl;
for (const auto& row : kmap) {
for (int cell : row) {
cout << cell << " ";
}
cout << endl;
}
}
string simplifyKMap(const vector<vector<int>>& kmap) {
// Aquí iría la lógica para simplificar el K-map
// Este es un ejemplo simplificado, la implementación real puede ser más compleja
return "Expresión simplificada (ejemplo)";
}
int main() {
vector<vector<int>> kmap(4, vector<int>(4, 0));
cout << "Ingrese las posiciones de los '1' en el K-map (0-15, -1 para terminar):" << endl;
int input;
while (true) {
cin >> input;
if (input == -1) break;
if (input >= 0 && input < 16) {
kmap[input / 4][input % 4] = 1;
} else {
cout << "Entrada inválida. Intente de nuevo." << endl;
}
}
displayKMap(kmap);
string result = simplifyKMap(kmap);
cout << result << endl;
return 0;
}