这题的话,我们可以把字符串序列里面的字母直接计数,然后比较两个数组里面的数字是否一一相同,然后就可以直接判定YES or NO。

因为它题目中说的就是一种映射的关系,首先我们读入之后,把两个字符串的不同字母个数给统计出来,然后我们做一个排序,排序之后,如果这两个数字序列的长短是一样的,就说明有映射的可能性。

然后我们一一比较,只有每次每个从前向后的数组格子里面的填的数字个数相同才是可以的,因为这样直接就可以把密码序列里面的字母映射到答案序列的字母上,然后就得到答案了,这题不要想太多。

#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
int cnt1[30],cnt2[30]; bool cmp(int a,int b)
{
return a > b;
} int main()
{
string a, s;
while (cin>>s>>a) {
bool flag = 1;
memset(cnt1, 0, sizeof(cnt1));
memset(cnt2, 0, sizeof(cnt2));
for (int i = 0; i < s.length(); i++) {
cnt1[s[i] - 'A']++;
cnt2[a[i] - 'A']++;
}
sort(cnt1, cnt1 + 30,cmp);
sort(cnt2, cnt2 + 30,cmp);
for (int i = 0; cnt1[i] != 0;i++) {
if (cnt1[i]==cnt2[i]) {
continue;
}
else {
flag=0;
break;
}
}
if (flag)
cout << "YES" << endl;
else
cout << "NO" << endl;
}
return 0;
}

UVa-1339-古老的密码的更多相关文章

  1. UVa 1339 Ancient Cipher --- 水题

    UVa 1339 题目大意:给定两个长度相同且不超过100个字符的字符串,判断能否把其中一个字符串重排后,然后对26个字母一一做一个映射,使得两个字符串相同 解题思路:字母可以重排,那么次序便不重要, ...

  2. UVa 1339,紫书P73,词频

    题目链接:https://uva.onlinejudge.org/external/13/1339.pdf 紫书P73 解题报告: #include <stdio.h> #include ...

  3. 4_1 古老的密码(UVa1339)<排序>

    古罗马帝国与各部门有一个强有力的政府系统,包括一个秘密服务部门.重要的文件以加密的形式发送防止窃听.在那个时代最流行的密码被称为替代密码和置换密码.例如,应用替代密码,改变所有字母“A”到“Y”字母表 ...

  4. UVA - 1262 Password(密码)(暴力枚举)

    题意:给两个6行5列的字母矩阵,找出满足如下条件的“密码”:密码中的每个字母在两个矩阵的对应列中均出现.给定k(1<=k<=7777),你的任务是找出字典序第k小的密码.如果不存在,输出N ...

  5. uva 1339 Ancient Cipher

    大意:读入两个字符串(都是大写字母),字符串中字母的顺序可以随便排列.现在希望有一种字母到字母的一一映射,从而使得一个字符串可以转换成另一个字符串(字母可以随便排列)有,输出YES:否,输出NO:ex ...

  6. uva 1339

    Ancient Roman empire had a strong government system with various departments, including a secret ser ...

  7. LA 3213 古老的密码

    https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=15& ...

  8. 【例题 4-1 UVA - 1339】 Ancient Cipher

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 位置其实都没关系了. 只要每个字母都有对应的字母,它们的数量相同就可以了. 求出每种字母的数量. 排序之后. 肯定是要一一对应的. ...

  9. Ancient Cipher UVA - 1339

      Ancient Roman empire had a strong government system with various departments, including a secret s ...

  10. ACM-古老的密码(排序qsort)

    古老的密码 题目描述:给定两个长度一样且不超过100的字符串,判断是否能把其中一个字符串的各个字母重排,之后对26个字母做一个一一映射,使得两个字符串相同例如,JWPUDJSTVP重排后可以得到WJD ...

随机推荐

  1. IOS高级开发~Runtime(二)

    #import <Foundation/Foundation.h> @interface CustomClass : NSObject { NSString *varTest1; NSSt ...

  2. 拓扑排序+DFS(POJ1270)

    [日后练手](非解题) 拓扑排序+DFS(POJ1270) #include<stdio.h> #include<iostream> #include<cstdio> ...

  3. [Shader 着色器]冰霜效果的思考和实现

    http://game.ceeger.com/forum/read.php?tid=23209&fid=2 由于最近要做一个冰系的角色,就想能不能做一些冰霜效果.那么就试试吧,先弄一张原图: ...

  4. 2019年BAT面试通关宝典:数据结构+JVM+并发编程+分布式...

    前言 金三银四俗称跳槽黄金季,很多同学都想趁着这段时间拿高薪,去更牛逼的公司工作,认识更多大牛,提升自己的职场竞争力. 那怎样才能通过BAT面试官的考核?怎样成为一名Offer收割机? 收割Offer ...

  5. IT兄弟连 JavaWeb教程 请求转发案例

    CheckServlet类与OutputServlet类之间为请求转发关系.在web.xml文件中,为CheckServlet映射的URL为"/check",为OutputServ ...

  6. docker系列(一):docker基础与安装笔记

    1 什么是docker docker是基于GO语言编写的开源容器项目,诞生于2013年初,到目前为止,已经经历了6年的发展演变.现如今,docker已经非常火爆,特别是在一线IT企业,部署.运维等工作 ...

  7. 跟我一起玩Win32开发(1):关于C++的几个要点

    我不知道各位,一提起C++,第一感觉是什么?而据俺的观察,许多人几乎成了“谈C色变”.不管是C还是C++,一直以来都被很多人视为相当难学的玩意儿,幸好只是一个C++,没有C--,C**和C//,不然, ...

  8. redis查数据

    1 连接服务 [root@redis1-20 ~]# telnet 127.0.0.1 6380 Trying 127.0.0.1... Connected to 127.0.0.1. Escape ...

  9. websocket实现群聊

    server # @File: 群聊 from flask import Flask, render_template, request from geventwebsocket.handler im ...

  10. page.php 引入js文件

    2种写法 <script type='text/javascript' src='<?php echo get_template_directory_uri().'/js/jquery-1 ...