使用STL,问题就变得简单了。
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main(void) {
int n;
cin >> n;
unordered_map<string, string> myMap;
myMap.reserve(n);
char ch, id[20], pw[20];
for(int i(0); i < n; ++i) {
scanf(" %c%s%s", &ch, id, pw);
if(ch == 'N') {
if(myMap.count(id)) printf("ERROR: Exist\n");
else {
myMap.insert(pair<string, string>(id, pw));
printf("New: OK\n");
}
}
else {
if(myMap.count(id) == 0) printf("ERROR: Not Exist\n");
else if(myMap.at(id) != pw) printf("ERROR: Wrong PW\n");
else printf("Login: OK\n");
}
}
return 0;
}