题目描述 CodeMonkey终于下定决心用情书的方式向心爱的女神表白,当他历经几天几夜写完之后才知道女神有很多不喜欢的词,所以他不得不有把这些词删掉。例如:原文是:ILOVEYOU,女神不喜欢的词是‘LV’,‘O’那么最终情书要改成IEYU。现在已知女生不喜欢的词的集合S,CodeMonkey想知道刚写的情书会改成什么样?S={“HATE”,“SHIT”,“LV”,“O”,“FUCK”,“UGLY”,“MM”} 输入 多样例输入,每个样例输入一行情书原文,原文只包含大写英文字母,原文长度不超过1000 输出 对于每个样例,若是情书被删完则输出一行“LOSER”,否则输出情书的剩余内容 样例输入 ILOVEYOU
MM
样例输出 IEYU
LOSER
Source XTU OnlineJudge #include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char a[1100], b[5] = "HATE", b1[5] = "SHIT", b2[5] = "FUCK", b3[5] = "UGLY", b4[3] = "LV", b5[3] = "MM";
int a1[4], a2[2];
int i, j, k, c, d, e;
while (scanf("%s", a) != EOF)
{
e = 1;
c = strlen(a);
for (i = 0; i<c; i++) // O
{
if (a[i] == 'O')
a[i] = ' ';
}
d = 0;
while (!d)
{
d = 1;
for (i = 0, j = 0, k = 0; i<c; i++) // "HATE"
{
if (a[i] != b[j] && a[i] != ' ')
{
k = 0;
j = 0;
}
if (a[i] == b[j])
{
a1[k] = i;
j++;
k++;
}
if (k == 4) break;
//if (a[i] != ' '&&a[i] != a[i - 1] && a[i] != b[i] && j>0) break;
}
if (k == 4)
{
d = 0;
for (i = 0; i<4; i++)
{
a[a1[i]] = ' ';
}
}
for (i = 0, j = 0, k = 0; i<c; i++) //"SHIT"
{
if (a[i] != b1[j] && a[i] != ' ')
{
k = 0;
j = 0;
}
if (a[i] == b1[j])
{
a1[k] = i;
j++;
k++;
}
//if (a[i] != ' '&&a[i] != a[i - 1] && a[i] != b1[i] && j>0) break;
if (k == 4) break;
}
if (k == 4)
{
d = 0;
for (i = 0; i<4; i++)
{
a[a1[i]] = ' ';
}
}
for (i = 0, j = 0, k = 0; i<c; i++) //"FUCK"
{
if (a[i] != b2[j] && a[i] != ' ')
{
k = 0;
j = 0;
}
if (a[i] == b2[j])
{
a1[k] = i;
j++;
k++;
}
//if (a[i] != ' '&&a[i] != a[i - 1] && a[i] != b2[i] && j>0) break;
if (k == 4) break;
}
if (k == 4)
{
d = 0;
for (i = 0; i<4; i++)
{
a[a1[i]] = ' ';
}
}
for (i = 0, j = 0, k = 0; i<c; i++) //"UGLY"
{
if (a[i] != b3[j] && a[i] != ' ')
{
k = 0;
j = 0;
}
if (a[i] == b3[j])
{
a1[k] = i;
j++;
k++;
}
//if (a[i] != ' '&&a[i] != a[i - 1] && a[i] != b3[i] && j>0) break;
if (k == 4) break;
}
if (k == 4)
{
d = 0;
for (i = 0; i<4; i++)
{
a[a1[i]] = ' ';
}
}
for (i = 0, j = 0, k = 0; i<c; i++) //'LV'
{
if (a[i] != b4[j] && a[i] != ' ')
{
k = 0;
j = 0;
}
if (a[i] == b4[j])
{
a2[k] = i;
j++;
k++;
}
//if(a[i]!=' '&&a[i]!=a[i-1]&&a[i]!=b4[i]&&j>0) break;
if (k == 2) break;
}
if (k == 2)
{
d = 0;
for (i = 0; i<2; i++)
{
a[a2[i]] = ' ';
}
}
for (i = 0, j = 0, k = 0; i<c; i++) //"MM"
{
if (a[i] != b5[j] && a[i] != ' ')
{
k = 0;
j = 0;
}
if (a[i] == b5[j])
{
a2[k] = i;
j++;
k++;
}
//if (a[i] != ' '&&a[i] != a[i - 1] && a[i] != b5[i] && j>0) break;
if (k == 2) break;
}
if (k == 2)
{
d = 0;
for (i = 0; i<2; i++)
{
a[a2[i]] = ' ';
}
}
}
for (i = 0; i<c; i++)
{
if (a[i] != ' ')
{
printf("%c", a[i]);
e = 0;
}
}
if (e)
printf("LOSER");
printf("\n");
}
return 0;
}
|