PTA 估值一亿的AI核心代码
发布时间:2020-12-14 06:08:25 所属栏目:百科 来源:网络整理
导读:题面 比赛时被模拟题打自闭了,本来以为是个比较麻烦的模拟,实际上只要会C++的regex不到40行就能把这个题过掉了(orz smz) regex是用来处理正则表达式,里面有个函数regex_replace(string s,regex re,string new_string)可以将s中满足正则表达式re的所有位
题面 比赛时被模拟题打自闭了,本来以为是个比较麻烦的模拟,实际上只要会C++的regex不到40行就能把这个题过掉了(orz smz) regex是用来处理正则表达式,里面有个函数regex_replace(string s,regex re,string new_string)可以将s中满足正则表达式re的所有位置替换成new_string。 #include <bits/stdc++.h> #include <regex> using namespace std; int main() { int n; scanf("%d",&n); while(n--) { cout << s << endl; getline(cin,s); cout << s << endl; s = regex_replace(s,regex(R"(s+)")," "); if(s.front() == ‘ ‘) s.erase(s.begin()); if(s.back() == ‘ ‘) s.pop_back(); s = regex_replace(s,regex(R"( !)"),"!"); s = regex_replace(s,regex(R"(,)"),","); s = regex_replace(s,regex(R"( .)"),"."); s = regex_replace(s,regex(R"( ?)"),"?"); s = regex_replace(s,regex(R"( ‘)"),"‘"); for (auto &c : s) { if(c != ‘I‘) c = tolower(c); } s = regex_replace(s,regex(R"(bcan youb)"),"_I can"); s = regex_replace(s,regex(R"(bcould youb)"),"_I could"); s = regex_replace(s,regex(R"(bIb)"),"you"); s = regex_replace(s,regex(R"(bmeb)"),"you"); s = regex_replace(s,regex(R"(?)"),"!"); s = regex_replace(s,regex(R"(b_Ib)"),"I"); cout << "AI: " << s << endl; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |