#include <bits/stdc++.h> using namespace std; /* int main(){     string mail;     set<char> sp;     string sps("&=+$,;?/-_.!~*'()#");     for(auto ch:sps) sp.insert(ch);     while(getline(cin, mail)){         vector<int> idx;         vector<int> node(1, -1);         for(int i=0; i<mail.size(); ++i){             if(mail[i] == '@') {                 idx.push_back(i);                 for(int j=i+1; j<mail.size(); ++j) {                     if(mail[j] == '.') {node.push_back(j); break;}                     if(mail[j] == '@') {node.push_back(i); break;}                 }             }         }         int flag = false;         int old = -1;         for(int i=0; i<idx.size(); ++i){             if(!flag){                 if(idx[i]-old >= 4 && node[i+1]-idx[i]-1 <= 119 && node[i+1]-idx[i] > 1){                     for(int k=idx[i]-1; k>=idx[i]-3; --k){                         if(!isalnum(mail[k]) && sp.find(mail[k]) == sp.end()){                             goto next;                         }                     }                     for(int k=idx[i]+1; k<node[i+1]; ++k){                         if(!isalnum(mail[k]) && mail[k] != '-'){                             goto next;                         }                     }                     for(int k=idx[i]-1; k>=idx[i]-3; --k){                         mail[k] = '*';                     }                     flag = true;                 }             }             else{                 if(idx[i]-node[i] >= 4 && node[i+1]-idx[i]-1 <= 119 && node[i+1]-idx[i] > 1){                     for(int k=idx[i]-1; k>=idx[i]-3; --k){                         if(!isalnum(mail[k]) && sp.find(mail[k]) == sp.end()){                             flag = false;                             goto next;                         }                     }                     for(int k=idx[i]+1; k<node[i+1]; ++k){                         if(!isalnum(mail[k]) && mail[k] != '-'){                             flag = false;                             goto next;                         }                     }                     for(int k=idx[i]-1; k>=idx[i]-3; --k){                         mail[k] = '*';                     }                 }                 else{                     flag = false;                 }             }         next:             old = idx[i];         }         cout << mail << endl;     } }*/
点赞 评论

相关推荐

牛客网
牛客企业服务