#include #include using namespace std; class Fingerprint { public: char dots[25]; int score; Fingerprint(){} void setprint(ifstream &fin){ char dot; for(int i = 0; i <25; i++){ fin >> dot; dots[i] = dot; } } int compare(Fingerprint F){ int count = 0; for(int i = 0; i < 25; i++){ if(dots[i] == F.dots[i]) count++; } return count; } }; int main(){ ifstream fin; fin.open("fingers.in"); int sets; int database; Fingerprint* base; fin >> database >> sets; base = new Fingerprint[database + 1]; for(int i = 1; i <= database; i++){ base[i].setprint(fin); } for(int x = 1; x <= sets; x++) { Fingerprint crime; crime.setprint(fin); int bestmatch = 0; for(int i = 1; i <= database; i++){ base[i].score = crime.compare(base[i]); if(crime.compare(base[i]) > bestmatch) bestmatch = crime.compare(base[i]); } cout << "Data Set" << " " << x << ":" << endl; for(int i = 0; i <= database; i++) if(base[i].score == bestmatch) cout << i << " "; cout << endl << endl; } return 0; }