SZTUOJ 1019.总之就是不太可爱

Posted 徒手拆机甲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
}

以上是关于SZTUOJ 1019.总之就是不太可爱的主要内容,如果未能解决你的问题,请参考以下文章

SZTUOJ 1009.打怪升级

SZTUOJ 1014.RMQ with Shifts

SZTUOJ 1002. A+B(II)

SZTUOJ 1003.A+B(III)

SZTUOJ 1001. A+B (I)

SZTUOJ 1015.闰年