蒜厂秘籍(map)

来源:互联网 发布:retrofit post json 编辑:程序博客网 时间:2024/04/30 14:44

题目思路:用STL中的map

学到的东西 string的迭代器是auto  ,一整行的输入getline(cin,string)

代码:

#include <bits/stdc++.h>using namespace std;int main() {    string start1;cin>>start1;    string x,y;    map<string, string> m;    while (true) {        cin>>x;        if (x=="END") {            break;        }        cin>>y;        m[y]=x;    }    string start2;    getline(cin,start2);//吸收\n    string sentences="";    while (true) {        string line;getline(cin,line);        if (line=="START")  continue;        if (line=="END")  break;        string words="";        for (auto i =line.begin();i!=line.end();i++) {            if (isalpha(*i))  words+=*i;    else {                if (words!="") {                    if(m.count(words)) sentences+=m[words];                    else sentences+=words;                }                sentences+=*i;//句子加上非字母的                words.clear();//清空words            }           }        if (words!="") {//处理最后以单词结尾的                if(m.count(words)) sentences+=m[words];                else sentences+=words;            }            sentences+='\n';    }    cout<<sentences;  }


原创粉丝点击