SZTUOJ 1019.总之就是不太可爱

Description

“总之就是不太可爱!”zjb学长对字符串很有研究,在他看来有些字符显然不太可爱。某天有几个可爱的女生拿着自己的c语言程序来向zjb请教,这时zjb注意到程序里的有些变量名中有不太可爱的成分,可是他现在要专心回答问题,于是请你来编写程序帮他找出不可爱的部分。

Input

输入的第一行由若干个不同的字符组成,这些字符都被认为是不可爱的字符,从第二行开始每行都有一个字符串,代表待判断的变量名

Output

每一个变量名对应一行输出,如果这个变量名存在不可爱的字符,则输出删除不可爱字符后的新变量名,如果不存在不可爱的字符,则输出“That's so cute!”

Sample Input

abd
abcdefg
niconiconi

Sample Output

cefg
That's so cute!

Hint

保证每次输入中字符串的个数不超过100个,变量名长度不超过10000,保证数据中的变量名格式满足c程序标准

Source

SZTU Monthly 2020 Oct.

Author

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;
}
上一篇:1019 数字黑洞(用C语言精简的解决每日两题)


下一篇:PAT乙级1019