L1-8 估值一亿的AI核心代码(模拟)

    科技2022-07-12  144

    #include<bits/stdc++.h> using namespace std; string s; bool shu(int i){ if(s[i]>='0'&&s[i]<='9') return true; return false; } bool kong(int i){ if(s[i]==' ') return true; return false; } bool zimu(int i){ if((s[i]>='a'&&s[i]<='z')||s[i]=='I') return true; return false; } bool biao(int i){ if(!shu(i)&&!kong(i)&&!zimu(i)) return true; return false; } bool f(int i){ if(s[i]==' '||biao(i)) return true; return false; } int main(){ // freopen("in.txt","r",stdin); int T;cin>>T; getchar(); while(T--){ getline(cin,s); cout<<s<<endl; int i=0; while(s[0]==' ') s.erase(s.begin()); while(s[s.length()-1]==' ') s.erase(s.end()-1); for(int i=0;i<s.length();i++){ if(s[i]!='I'&&s[i]>='A'&&s[i]<='Z') s[i]='a'+s[i]-'A'; if(s[i]=='?') s[i]='!'; } for(int i=0;i<s.length();i++){ if(s[i]==' '){ while(s[i+1]==' ') s.erase(s.begin()+i+1); if(biao(i+1)) s.erase(s.begin()+i); } } //cout<<s<<endl; s=" "+s; cout<<"AI: "; for(int i=1;i<=s.length()-1;){ if(s[i-1]==' '&&s[i]=='I'&&f(i+1)){ cout<<"you"; i+=1; } else if(f(i-1)&&s[i]=='m'&&s[i+1]=='e'&&f(i+2)){ cout<<"you"; i+=2; } else if(f(i-1)&&s[i]=='c'&&s[i+1]=='a'&&s[i+2]=='n'&&s[i+3]==' '&&s[i+4]=='y'&&s[i+5]=='o'&&s[i+6]=='u'&&f(i+7)){ cout<<"I can"; i+=7; } else if(f(i-1)&&s[i]=='c'&&s[i+1]=='o'&&s[i+2]=='u'&&s[i+3]=='l'&&s[i+4]=='d'&&s[i+5]==' '&&s[i+6]=='y'&&s[i+7]=='o'&&s[i+8]=='u'&&f(i+9)){ cout<<"I could"; i+=9; } else{ cout<<s[i]; i++; } } cout<<endl; } return 0; }

     

    Processed: 0.010, SQL: 8