古代password
古代password
个人信息:就读于燕大本科软件project专业 眼下大三;
本人博客:google搜索“cqs_2012”就可以;
个人爱好:酷爱数据结构和算法。希望将来从事算法工作为人民作出自己的贡献;
编程语言:C++ 和 Java ;
编程坏境:Windows 7 专业版 x64;
编程工具:vs2008;
制图工具:office 2010 powerpoint;
硬件信息:7G-3 笔记本;
真言
真想骂街了。缺少共同的人机,再用你就真傻了。白练,你被淘汰了
题目
古代password
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描写叙述
- 古罗马帝王有一个包含各种部门的强大政府组织。当中有一个部门就是保密服务部门。
为了保险起见,在省与省之间传递的关键文件里的大写字母是加密的。
当时最流行的加密方法是替换和又一次排列。
替换方法是将全部出现的字符替换成其他的字符。有些字符会碰巧替换成它自己。比如:替换规则能够是将'A' 到 'Y'替换成它的下一个字符,将'Z'替换成 'A'。假设原词是 "VICTORIOUS" 则它变成 "WJDUPSJPVT"。
排列方法改变原来单词中字母的顺序。比如:将顺序 <2, 1, 5, 4, 3, 7, 6, 10, 9, 8> 应用到 "VICTORIOUS" 上。则得到"IVOTCIRSUO"。人们非常快意识到单独应用替换方法或排列方法,加密是非常不保险的。可是假设结合这两种方法。在当时就能够得到非常可靠的加密方法。
所以。非常多重要信息先使用替换方法加密,再将加密的结果用排列的方法加密。用两中方法结合就能够将"VICTORIOUS" 加密成"JWPUDJSTVP"。
考古学家近期在一个石台上发现了一些信息。初看起来它们毫无意义,所以有人设想它们可能是用替换和排列的方法被加密了。人们试着解读了石台上的password。如今他们想检查解读的是否正确。他们须要一个计算机程序来验证她,你的任务就是写这个验证程序。
- 输入
- 输入有两行。
第一行是石台上的文字。
文字中没有空格,而且仅仅有大写英文字母。第二行是被解读出来的加密前的文字。第二行也是由大写英文字母构成的。
两行字符数目的长度都不超过计划100。- 输出
- 假设第二行经过某种加密方法后能够产生第一行的信息,输出 "YES",否则输出"NO"。
代码
import java.io.*;
import java.util.*; public class Main
{
public static void main(String args[]) throws Exception
{
Scanner cin = new Scanner(System.in);
String a,b; a = cin.next();
b = cin.next();
my_2820(a,b); cin.close(); } public static void my_2820(String a,String b)
{
int i;
char c;
Integer number ;
boolean find,result;
HashMap<Character, Integer> myHash = new HashMap<Character,Integer>() ;
for(i=0;i<b.length();i++)
{
c = b.charAt(i);
c++;
if(c>'Z')
c= 'A'; find = myHash.containsKey(c);
if(find == false)
{
myHash.put(c, 1);
}
else
{
number = myHash.get(c);
myHash.remove(c);
myHash.put( c, number+1);
}
}
find = true;
result = true; for(i=0;i<a.length();i++)
{
find = myHash.containsKey(a.charAt(i));
if(find == false)
{
result = false ;
break;
}
else {
number = myHash.get(a.charAt(i)) ;
myHash.remove(a.charAt(i)) ;
if(number > 1)
myHash.put( a.charAt(i), number-1) ;
} }
if(result == false)
System.out.println("NO");
else System.out.println("YES"); } }
古代password的更多相关文章
- 打开程序总是会提示“Enter password to unlock your login keyring” ,如何成功关掉?
p { margin-bottom: 0.1in; line-height: 120% } 一.一开始我是按照网友所说的 : rm -f ~/.gnome2/keyrings/login.keyrin ...
- your password has expired.to log in you must change it
今天应用挂了,log提示密码过期.客户端连接不上. 打开mysql,执行sql语句提示密码过期 执行set password=new password('123456'); 提示成功,但客户端仍然连接 ...
- MySql Access denied for user 'root'@'localhost' (using password:YES) 解决方案
关于昨天下午说的MySQL服务无法启动的问题,解决之后没有进入数据库,就直接关闭了电脑. 今早打开电脑,开始-运行 输入"mysql -uroot -pmyadmin"后出现以下错 ...
- [上架] iOS "app-specific password" 上架问题
当你的 Apple ID 改用双重认证密码时,上架 iOS App 需要去建立一个专用密码来登入 Apple ID 才能上架. 如果使用 Application Loader 上传时,得到这个讯息: ...
- [LeetCode] Strong Password Checker 密码强度检查器
A password is considered strong if below conditions are all met: It has at least 6 characters and at ...
- mysql 错误 ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number 解决办法
MySQL创建用户(包括密码)时,会提示ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number: 问题原因: ...
- phpmyadmin #1045 - Access denied for user 'root'@'localhost' (using password: NO)
phpmyadmin访问遇到1045问题 #1045 - Access denied for user 'root'@'localhost' (using password: NO) 解决办法 找到p ...
- 保留password模式文本框textbox内的数据不丢失。
在asp.net 2.0环境下,使用textbox,提交到服务器再传回,如果textbox是password模式的,那么textbox内的密码(星号),就没有了! protected override ...
- Windows mysql提示:1045 access denied for user 'root'@'localhost' using password yes
Windows mysql提示:1045 access denied for user 'root'@'localhost' using password yes http://blog.csdn.n ...
随机推荐
- 【转】数据倾斜是多么痛?spark作业/面试/调优必备秘籍
原博文出自于: http://sanwen.net/a/gqkotbo.html 感谢! 来源:数盟 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性 ...
- 小白的python之路 序
计算机专科毕业,.net开发已有8年有余,中途断断续续,似懂非懂,积累了一些经验知识,但是不求甚解,属于那种一瓶不满半瓶子晃荡,这么一个状态. 主要从事web开发,涉及一些前端jq等,还有接口开发,搜 ...
- Android开发——Snackbar使用详解
http://blog.csdn.net/qq_19431333/article/details/52862348
- Android 知识Tips
有一些Android很小的知识点,不值得单独写出来做为一篇博客.都在这个博客里面进行总结 1.ImageButton控件,中间图片的放置效果可以用scaleType来设置,如下: <ImageB ...
- Python操作远程数据库
我的项目要往数据库中插入create_time和update_time,那就势必要引用现在的系统时间,经过大量的查找,终于发现往python是没有对应时间datetime的相关通配符的,那么我们要怎么 ...
- Pro ASP.Net Core MVC 6th 第四章
第四章 C# 关键特征 在本章中,我描述了Web应用程序开发中使用的C#特征,这些特征尚未被广泛理解或经常引起混淆. 这不是关于C#的书,但是,我仅为每个特征提供一个简单的例子,以便您可以按照本书其余 ...
- Quartus 12的TimeQuest Timing Analyzer
Quartus 12的TimeQuest Timing Analyzer 1.在Quartus II软件打开和设置设计 安装路径下\qdesigns\fir_fliter文件.在Processing ...
- 如何允许WebGL从本地载入资源
随着mono-design不断推广,用户越来越多,陆续有电话来询问“为什么3D展现的时候,是一团黑?”,针对这个问题,专门写个帖子说明原因并给出解决方案,并且在mono-design编辑器中加了判断功 ...
- mysql如何将一个字段多个类型串成一个字符串?
结论 先说结论,可以使用group_concat group by的组合实现多行变一行,将一个字段的多个类型串成一个字段 需求: 如题,一个字段如电影类别,一部电影可以是多个类别,如喜剧.动作片等,其 ...
- Luogu P1540 机器翻译
思路 大水题,只需要静下心来模拟就行.我一开始做的时候,首先想到滚动数组但是写完之后发现并不符合题目要求.题目要求新加入的单词作为最新的,在时间上属于最后一个.但是如果用滚动数组的话,新加入的单词就成 ...