题解 AT4233 【[ABC110C] String Transformation】
ChungZH's blog · ChungZH's portfolio
您会得到由小写英文字母组成的字符串
S 和T 。您可以在
S 上多次执行以下操作:操作:选择两个不同的小写英文字母
c_1 和c_2 ,然后将每次出现的c_1 替换为c_2 ,并将每次出现的c_2 替换为c_1 。通过执行零次或更多次操作,确定
S 和T 是否可以相等。
用数组 No。否则输出 Yes。
long long a[30], b[30];
int main() {
string s, t;
cin >> s >> t;
for (int i = 0; i < s.length(); i++) {
a[s[i]-'a']++;
b[t[i]-'a']++;
}
sort(a, a+26);
sort(b, b+26);
for (int i = 0; i < 26; i++) {
if (a[i] != b[i]) {
cout << "No\n";
return 0;
}
}
cout << "Yes\n";
return 0;
}