判断两个由大小写字母数字和空格组成的字符串在忽略大小写,且忽略空格后是否相等。
Input
两行,每行包含一个字符串。
Output
若两个字符串相等,输出YES,否则输出NO。
Sample
Inputcopy | Outputcopy |
---|---|
a A bb BB ccc CCC Aa BBbb CCCccc | YES |
代码如下:
//I - 字符串判等 51Nod - 3288
#include <iostream>
#include <cstring>
using namespace std;
void deleteBlank(char a[])
{
int n = strlen(a);
for(int i = 0, newI = 0 ; i <= n ; i ++) //a[n]= '\0'
{
if(a[i] != ' ')
{
a[newI] = a[i];
newI ++;
}
}
}
void toSmall(char a[])
{
int n = strlen(a);
for(int i = 0 ; i < n ; i ++)
{
if(a[i] >= 'A' && a[i] <= 'Z')
{
a[i] += 32;
}
}
}
int main()
{
char a[900000], b[900000];
cin.getline(a, 900000);
cin.getline(b, 900000);
//忽略空格
deleteBlank(a);
deleteBlank(b);
//都撰写小写
toSmall(a);
toSmall(b);
if(strcmp(a, b) == 0)
{
cout << "YES";
}
else
{
cout << "NO";
}
return 0;
}//yf