int main()
{
//freopen("d://1.txt", "r", stdin);
//freopen("d://2.txt", "w", stdout);
string n, m;
//while (cin >> n >> m)
//{
while (getline(cin, n))//用getline才能确保每行读进去
{
getline(cin, m);
if (n.length() == 0 || n.empty())//脑残啊,第一行为空,所有的键都是好的,就直接输出就好了。
{
cout << m << endl;
continue;
}
bool up = false;
set<char> broken;
for (int i = 0; i < n.length(); i++)
{
if (n[i] == '+')
{
up = true;//坏了
//broken.insert(n[i]);//+自身也是一个字符,注意去除掉,还以为是这个点。结果不是
}
else
{
if (n[i] >= 'A'&&n[i] <= 'Z')
{
broken.insert(n[i]);
broken.insert(n[i] - 'A' + 'a');
}
else if (n[i] >= 'a'&&n[i] <= 'z')
{
broken.insert(n[i]);
broken.insert(n[i] - 'a' + 'A');
}
else
{
broken.insert(n[i]);
}
}
}
for (int i = 0; i < m.length(); i++)
{
if (broken.count(m[i]) == 0)
{
if (m[i] >= 'A'&&m[i] <= 'Z'&&up)
{
/*char temp = m[i] - 'A' + 'a';
cout << temp;*/
continue;
}
else
{
cout << m[i];
}
}
}
cout << endl;
}
return 0;
}
1033. 旧键盘打字(20)
最新推荐文章于 2023-12-29 16:02:01 发布