“总之就是不太可爱!”zjb学长对字符串很有研究,在他看来有些字符显然不太可爱。某天有几个可爱的女生拿着自己的c语言程序来向zjb请教,这时zjb注意到程序里的有些变量名中有不太可爱的成分,可是他现在要专心回答问题,于是请你来编写程序帮他找出不可爱的部分。
输入的第一行由若干个不同的字符组成,这些字符都被认为是不可爱的字符,从第二行开始每行都有一个字符串,代表待判断的变量名
每一个变量名对应一行输出,如果这个变量名存在不可爱的字符,则输出删除不可爱字符后的新变量名,如果不存在不可爱的字符,则输出“That's so cute!”
abd abcdefg niconiconi
cefg That's so cute!
保证每次输入中字符串的个数不超过100个,变量名长度不超过10000,保证数据中的变量名格式满足c程序标准
SZTU Monthly 2020 Oct.
DOGGOD_Q
一个基础字符串模拟题,可以先扫一遍,进行标记和记录,根据结果在扫一遍顺便输出结果。
有人想通过左移后半字符串来补齐删除字符后的空位,这种算法的时间复杂度是O(n2),在这道题的数据范围下必然会超时。
这就说明一个道理,可以o(n)就不要更麻烦。
#include<bits/stdc++.h> using namespace std; string s,s2; int main() { cin>>s; while(cin>>s2) { int f=0,l1=s.size(),l2=s2.size(); for(int i=0;i<l2;i++) { for(int j=0;j<l1;j++) if(s2[i]==s[j])f=1; } if(f) { for(int i=0;i<l2;i++) { int t=0; for(int j=0;j<l1;j++) if(s2[i]==s[j])t=1; if(!t)cout<<s2[i]; } cout<<endl; } else cout<<"That's so cute!"<<endl; } return 0; }