本文共 1429 字,大约阅读时间需要 4 分钟。
#include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef pair P;typedef long long LL;const int INF = 0x3f3f3f3f;const double PI = acos(-1.0);const double eps = 1e-9;vector cans;string str;string s;bool judge(string &s){ int n = s.size(); if(n <= 1) return false; if(!isupper(s[0])) return false; for(int i = 1; i < n; i++) { if(!islower(s[i])) return false; } return true;}int main(){ while(getline(cin, str)) { str += '.'; int n = str.size(); s = ""; for(int i = 0; i < n; i++) { if(isalpha(str[i])) { s += str[i]; } else if(str[i] == ' ') { if(judge(s)) { cans.push_back(s); s = ""; } else { if(cans.size() >= 2) { string tmp = ""; for(int j = 0; j < cans.size(); j++) tmp += cans[j][0]; tmp += " ("; for(int j = 0; j < cans.size(); j++) { if(j) tmp += " "; tmp += cans[j]; } tmp += ")"; cout< = 1) tmp += " "; tmp += s; tmp += " "; s =""; cout< = 2) { string tmp = ""; for(int j = 0; j < cans.size(); j++) tmp += cans[j][0]; tmp += " ("; for(int j = 0; j < cans.size(); j++) { if(j) tmp += " "; tmp += cans[j]; } tmp += ")"; cout< = 1) tmp += " "; tmp += s; tmp += str[i]; } if(i == n-1) tmp.resize(tmp.size()-1); cout<
所以说没有啥大事是重写一遍解决不了的,如果有,那就再写一遍
转载于:https://www.cnblogs.com/Alruddy/p/7368478.html