Uva 1339 这题我会!
紫薯P73 例题4-1
一、题意
有若干组数据。
每组两个字符串。
判断这两个字符串能否用一种映射规则(某个字母映射成另一个字母)进行映射。
二、解析
数每个字母的个数即可。最后个数排列后完全一样的话说明可以映射。
三、代码
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int cnt1[26], cnt2[26];
int main() {
string str1, str2;
while(cin >> str1 >> str2) {
fill(cnt1, cnt1 + 26, 0);
fill(cnt2, cnt2 + 26, 0);
for(auto ch : str1) cnt1[ch - 'A'] ++;
for(auto ch : str2) cnt2[ch - 'A'] ++;
sort(cnt1, cnt1 + 26);
sort(cnt2, cnt2 + 26);
int ok = 1;
for(int i = 0; ok && i < 26; i ++) if(cnt1[i] != cnt2[i]) ok = 0;
cout << (ok ? "YES" : "NO") << endl;
}
}四、归纳
- 无
Re:从零开始的刷题生活 文章被收录于专栏
一起来重刷题叭~ 由于精力有限,题意只说大概,题目细节可以点击vjudge链接查看。 题目以紫薯中的Uva例题/习题为主,有时候有些比较经典的算法也会特意从其它OJ上找题,并不一定出现在紫薯上。 噢,紫薯指——《算法竞赛入门经典(第2版)》by 刘汝佳 喜欢的小伙伴点个赞呗?不然我只能认为一直只有我一个人在自娱自乐orz....
汤臣倍健公司氛围 420人发布
查看7道真题和解析