A中交换任意位置的两个字符,最终可以得到B,交换的次数不限。比如:abc与bca就是同一类字符串。
现在牛牛想知道这N个字符串可以分成几类。
输入描述:
首先输入一个正整数N(1 <= N <= 50),接下来输入N个字符串,每个字符串长度不超过50。
输出描述:
输出一个整数表示分类的个数。
输入例子:
4
abcd
abdc
dabc
bacd
输出例子:
1
#include <iostream>
#include <string.h>
#include <set>
#include <algorithm>
using namespace std;
//思路: 将字符串排序 然后加入set容器中 统计set容器中个数
int main()
{
int n;
cin>>n;
string s;
set<string> hset;
for(int ii = 0;ii<n;ii++)
{
cin>>s;
sort(&s[0],&s[0]+s.size());
hset.insert(s);
}
cout<<hset.size()<<endl;
}