题解:CF2167B Your Name
题目传送门。
前置知识
- map。
map
map 是一种数据结构,可以这样使用:
map < 下表类型, 值的类型 > 变量名;
思路
显然如果 khba 名字的每个字母都在她女朋友的名字里,那么就可以了。
用 map 存储 khba 名字的每个字母出现的数量,再存储他女朋友名字的每个字母出现的数量,如果每个都匹配就输出 Yes ,否则输出 No。
AC Code
#include <bits/stdc++.h>
#define int long long
using namespace std;
int q;
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);
cin >> q;
for (int k = 1; k <= q; k++) {
bool flag = true;
int len;
string s, t;
cin >> len>> s>> t;
map < char, int > mp;
for (int i = 0; i < s.size(); i++) mp[s[i]]--;
for (int i = 0; i < t.size(); i++) mp[t[i]]++;
for (int i = 0; i < s.size(); i++)
if (mp[s[i]] != 0) {
cout << "NO\n";
flag = false;
break;
}
if (flag == true) cout << "YES\n";
}
return 0;
}