#我爱cf之每日一题——辣鸡字符串 02

xiaoxiao2021-02-28  42

Codeforces Round #478 (Div. 2)

A. Aramic Script

思路:很明显。。。就是由字母构成不同的字符串的个数。问题是怎么表示出这一层意思。题解告诉我们经验告诉我们应该将每一个字母映射成二进制数字,字母的排列可以随机,但是经过二进制运算之后的结果肯定如果字母构成相同,那么结果也相同。接着将这些数字存进set中,最后求set的大小就行了。。。这道题真的非常有意思emmmmm。。。。。。

代码:

#include<iostream> #include<cstdio> #include<map> #include<set> using namespace std; int main(){ int n; scanf("%d", &n); string tmp; set<int> s; for(int i = 0; i < n; i++) { cin>>tmp; int oper = 0; for(int j = 0; j < tmp.size(); j++) { oper = oper | (1 << (tmp[j] - 'a')); } s.insert(oper); } cout << s.size() << endl; return 0; }

转载请注明原文地址: https://www.6miu.com/read-2627986.html

最新回复(0)