传送门 思路:
这题很容易往set上想,关键是怎么用。
先将对于一个字符串,先拆分成一个个字符存入set中去重,然后再将这个集合存入另一个set中,成为一个子集,在这个set中,再去重一次,最后返回size()。
/**
* From:
* Qingdao Agricultural University
* Created by XiangwangAcmer
* Date : 2019-10-27-08.23.10
* Talk is cheap.Show me your code.
*/
using namespace std;
const ll maxn = 1e6 + 5;
const ll minn = 1e9 + 5;
const ll mod = 1000000007;
const int INF = 0x3f3f3f3f;
const long long LIMIT = 4294967295LL;
vector<int>v[maxn];
int dp[maxn];
vector<int>G[maxn];
bool row[maxn], col[maxn];
bool flag = 0;
queue<int>q;
set<char >s;
set<set<char> >ss;
int main()
{
ios::sync_with_stdio(false);
int n;
cin >> n;
for(int i = 1;i <= n;i++)
{
string a;
cin >> a;
for(int j = 0;j < a.size();j++)
{
s.insert(a[j]);
}
ss.insert(s);
s.clear();
}
cout << ss.size() << endl;
return 0;
}