AC code:
#include#include #include using namespace std;int main(){ char s[202]; char c; // int cnt1=0,cnt2=0;//cnt1、cnt2分别记录字母和@的个数 queue pos;//记录出现@处的下标 bool OK=1;//判断是否能还原 int len,i,j; for(len=0,i=0;scanf("%c",&c)!=EOF;len++) {//cout<<1; if(c=='\n' || c=='\r') { s[len]='\0'; break; } else if(c=='@') { //两个@间距不足两位,注意要在pos不为空时才执行。 if(!pos.empty() && len-pos.back()<3) {//cout<<"*"; OK=0; while(scanf("%c",&c) && !(c=='\n' || c=='\r')){} break; } s[len]=c; pos.push(len); } else { s[len]=c; //cnt1++; } } if(OK) { //如果不存在@ or 不存在字母 or 首字符是@ or 末字符是@ if(pos.empty() || !(len-pos.size()) || s[len-1]=='@' || s[0]=='@') { OK=0; } else for(i=0;s[i]!='\0';) { if(pos.size()>1) { for(;i