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....

全部评论

相关推荐

StephenZ_:我9月份找的第一段实习也是遇到这种骗子公司了,问他后端有多少人和我说7个正职,进去一看只有一个后端剩下的都是产品前端算法(没错甚至还有算法)。还是某制造业中大厂,我离职的时候还阴阳怪气我
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务