例题4-1 古老的密码(Ancient Cipher,NEERC 2004,UVa1339)

2024-04-13 03:38

本文主要是介绍例题4-1 古老的密码(Ancient Cipher,NEERC 2004,UVa1339),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原题链接:https://vjudge.net/problem/UVA-1339
分类:函数
备注:思维
分析:因为每种字母可以映射的字母不受限制,那么可以映射的字母出现的次数要相同即可,在两个字符串中都有相对应的字母出现的次数相同就能达到题目条件。
作者把此题列出来的一个重要应该是为了让我们见识一下函数作为函数参数吧。毕竟本章是讲函数和递归。
代码如下:按作者的意思来

#include<stdio.h>
#include<stdlib.h>//qsort的头文件
#include<string.h>
int cmp(const void* a, const void* b)//比较函数的写法
{return *(int*)a - *(int*)b;
}
int main(void)
{char s1[105], s2[105];while (scanf("%s%s", s1, s2) == 2){int cnt1[26] = { 0 }, cnt2[26] = { 0 };int len = strlen(s1), flag = 1;for (int i = 0; i < len; i++)cnt1[s1[i] - 'A']++, cnt2[s2[i] - 'A']++;qsort(cnt1, 26, sizeof(int), cmp);//void qsort(void *base, sieze_t num, size_t size, int(*comparator)(const void* ,const void*) );qsort(cnt2, 26, sizeof(int), cmp);//             数组名字    数组大小     单位长度       比较函数for (int i = 0; i < 26; i++)if (cnt1[i] != cnt2[i]) { flag = 0; break; }if (flag)printf("YES\n");else printf("NO\n");}return 0;
}

这篇关于例题4-1 古老的密码(Ancient Cipher,NEERC 2004,UVa1339)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899043

相关文章

【数据结构与算法 经典例题】使用队列实现栈(图文详解)

💓 博客主页:倔强的石头的CSDN主页               📝Gitee主页:倔强的石头的gitee主页    ⏩ 文章专栏:《数据结构与算法 经典例题》C语言                                   期待您的关注 ​​ 目录  一、问题描述 二、前置知识 三、解题思路 四、C语言实现代码 🍃队列实现代码:

混合密码系统解析

1. 概述         混合密码系统(hybrid cryptosystem)是将对称密码和非对称密码的优势相结合的方法。一般情况下,将两种不同的方式相结合的做法就称为混合(hybrid)。用混合动力汽车来类比的话,就相当于是一种将发动机(对称密码)和电动机(非对称密码)相结合的系统。         混合密码系统中会先用快速的对称密码来对消息进行加密,这样消息就被转换为了密文从而也就保证

如何给文档设置密码?电脑文件安全加密的详细操作步骤(10种方法)

在数字化时代,电脑文件的安全和隐私至关重要。通过给电脑的文件或者文件夹设置密码和加密,可以有效保护你的重要文件不被未经授权的人员访问,特别是公司的重要岗位,一些特殊的机密文件,投标文件,资金文件等等,更应该注重文件日常使用安全性。下面将为你介绍10种电脑文件,文件夹加密的详细操作步骤,帮助你更好地保护你的电脑文件安全。 加密方式一、Windows系统内置加密(电脑自带的文件加密) 选中需要

LSSS算法实现,基于eigen和pbc密码库【一文搞懂LSSS,原理+代码】

文章目录 一. LSSS简介1.1 概述1.2 线性秘密分享方案(LSSS)与 Shamir的秘密分享方案对比LSSS1.2.1 Shamir的秘密分享方案1.2.2 线性秘密分享方案(LSSS)1.2.3 主要区别 二. 基于矩阵的LSSS加解密原理分析2.1 LSSS矩阵构造2.1.1 定义2.1.2 规则 12.1.3 规则 22.1.4 规则 32.1.5 形成线性共享矩阵M 2.

用户管理命令:添加用户useradd,设置用户密码passwd,查看当前用户who.

Linux下添加用户:useradd 用户名 为用户名添加密码:passwd 用户名 查看系统中的所有用户:cat /etc/passwd |cut -f 1 -d : 注意:| 是管道,把cat的输出传给cut处理;后面的cut取出每一行的以:分割的第一栏。 用who命令可以查看当前登录的用户有哪些,一个用户可以多次登录比如有两个root。一个root在它的本地,一个root

Linux学习笔记-目录解释、添加删除用户、更新密码

vim hello.c  --编写c程序 gcc hello.c  --编译c程序 ./a.out      --运行c程序 root 存放root用户的相关文件 是一级目录 home 存放普通用户的相关文件 是二级目录 bin 存放常用命令的目录 sbin 存放的是要有一定的权限才可以使用的命令 mnt 默认挂载光驱和软驱的目录 boot 存放引导相关的文件的目录 etc 存放配置相关的

1Panel应用推荐:Bitwarden开源密码管理器

1Panel(github.com/1Panel-dev/1Panel)是一款现代化、开源的Linux服务器运维管理面板,它致力于通过开源的方式,帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用,1Panel特别开通应用商店,精选各类高质量的开源工具和应用软件,为用户的应用安装与升级操作提供便利。 目前,1Panel应用商店已经上架了超过100款精品软件并且定期更新维护,

oracle忘记sys密码

.打开cmd,输入sqlplus /nolog,回车;输入“conn / as sysdba”;输入“alter user sys identified by 新密码”,注意:新密码最好以字母开头,否则可能出现错误Ora-00988。有了这个方法后,只要自己对oracle服务器有管理员权限,不记得密码的时候就可以随意修改密码了。

Ubuntu系统通过GRUB引导菜单进入恢复模式修改账户密码

当在Ubuntu系统中忘记了账户密码时,有几种方法可以破解或重置密码。 本指引文档方法:通过GRUB引导菜单进入恢复模式 实践环境为:20.04.6 LTS (Focal Fossa) 1. 重启Ubuntu系统:首先,你需要重启你的Ubuntu系统。 2. 进入GRUB引导菜单:在启动过程中,按下Shift键以进入GRUB引导菜单。(如果你拥有双启动机器,并且需要在操作系统启动时选择,那么

读AI新生:破解人机共存密码笔记09精神安全权

1. 自动化史塔西 1.1. 作恶的创新也在快速发展 1.1.1. 心怀恶意的人们正在迅速地想出滥用人工智能的新方法 1.2. 史塔西(Stasi)是得意智皿煮国和共家国部全安更广为人知的名字,它被广泛认为是“有史以来最高效、最具性压镇的报情和秘密惊诧构机之一” 1.2.1. 保存着皿煮DE国绝大多数家庭的档案 1.2.2. 它的惯用手法是心理吓恐,而不是禁监或决处 1.2.3.