字符串map的使用
//
// main.cpp
// PATA1071
//
// Created by Phoenix on 2018/2/17.
// Copyright © 2018年 Phoenix. All rights reserved.
//
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <map>
using namespace std;
int main(int argc, const char * argv[]) {
char s[1048586];
gets(s);
int len = strlen(s);
int i = 0, opt = 0;
for(i = 0; i < len; i++) {
if(s[i] >= 'A' && s[i] <= 'Z') s[i] = s[i] - 'A' + 'a';
}
s[len++] = '.';
map<string, int> mp;
string a, b;
i = 0;
while(i < len) {
if((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= '0' && s[i] <= '9')) {
a += s[i];
} else if(a.size()){
if(mp.find(a) == mp.end()) {
mp[a] = 1;
} else {
mp[a]++;
}
if(mp[a] > opt) {
opt = mp[a];
b = a;
} else if(mp[a] == opt) {
if(a < b) b = a;
}
a.clear();
}
i++;
}
cout << b << " " << opt << endl;
return 0;
}