题目链接如下:
我的代码如下:
- #include
- #include
- #include
- #include
- const int maxx = 101;
- const int sz = 26;
-
- char a[maxx], b[maxx];
- int len;
- int mp1[sz], mp2[sz];
-
- int main(){
- while(scanf("%s %s", a, b) == 2){
- len = strlen(b);
- std::vector<int> v1, v2;
- std::fill(mp1, mp1 + sz, 0);
- std::fill(mp2, mp2 + sz, 0);
- for(int i = 0; i < len; ++i){
- mp1[a[i] - 'A']++;
- mp2[b[i] - 'A']++;
- }
- for(int i = 0; i < sz; ++i){
- v1.push_back(mp1[i]);
- v2.push_back(mp2[i]);
- }
- sort(v1.begin(), v1.end());
- sort(v2.begin(), v2.end());
- printf("%s\n", v1 == v2 ? "YES" : "NO");
- }
- return 0;
- }