wsl有好多个字符串,但是他不知道他总共有多少个不相同的字符串,所以想请你帮他数一数总共有几个不相同的字符串
我们忽略字母的大小写区别,比如TLYY和tlyy我们认为是相同的字符串。
认为两个字符串a,b相同当且仅当a[i]==b[i]或者a[i]b[i]为同一个字母的大小写。∀i<a.length()
输入格式:
每个测试包含多个测试用例。
第一行包含一个正整数T(1≤T≤10),表示测试用例的数量,测试用例的描述如下。
第二行包含一个整数N(1≤N≤1000),表示有N行字符串输入后面N行,每行一个字符串,保证字符串长度小于100
字符串仅由{大小写字母 , 空格 , '_' , '?' , '!' }
组合
输出格式:
对于每个测试用例,输出不相同的字符串数量(结尾有换行)
仅字母大小写不一样视为相同。
2
5
TLYY
tlyy
bbbb
tLYY
Tlyy
2
tly orz
tly orz
2
2
#define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
using namespace std;
int main() {
int T, N;
string str = "";
char s[105];
set<string>se;
cin >> T;
while (T--) {
cin >> N;
getchar();
se.clear();
for (int i = 0; i < N; i++) {
cin.getline(s, 105);
int len = strlen(s);
for (int k = 0; k < len; k++) {
str += s[k];
}
transform(str.begin(), str.end(), str.begin(), ::toupper);
se.insert(str);
str = "";
}
cout << se.size() << endl;
/*for (set<string>::iterator it = se.begin(); it != se.end(); it++) {
cout << *it << endl;
}*/
se.clear();
}
system("pause");
return 0;
}