NYOJ题目768移位密码
aaarticlea/png;base64,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" alt="" />
------------------
AC代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader reader=new BufferedReader(new InputStreamReader(System.in)); boolean first=true;
while(first || reader.ready()){
first=false; String s[]=reader.readLine().split(" ");
String ans=new String(decoding(s[],Integer.parseInt(s[])));
System.out.println(ans);
} } public static char[] decoding(String s,int k){
char cs[]=s.toCharArray();
for(int i=;i<cs.length;i++){
cs[i]=(char) (((cs[i]-'A'+-k)%)+'A');
}
return cs;
} }
题目来源: http://acm.nyist.net/JudgeOnline/problem.php?pid=768
NYOJ题目768移位密码的更多相关文章
- NYOJ题目770仿射密码
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAs4AAAIUCAIAAACFKz0yAAAgAElEQVR4nO3dPXLruLaG4TsJ5RqIYw
- NYOJ题目769乘数密码
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsQAAAJYCAIAAADqk2fsAAAgAElEQVR4nO3dPVLrytbG8XcS5AyEWA
- nyoj 移位密码
移位密码 时间限制:1000 ms | 内存限制:65535 KB 难度:0 描述 移位密码是最简单的一类代替密码,具体算法就是将字母表的字母右移k个位置(k<26),并对字母表长度作模 ...
- NYOJ-770仿射密码,乘数密码与移位密码的结合;
仿射密码 时间限制:1000 ms | 内存限制:65535 KB 难度:1 -> Link <- 和乘数密码差不多: 加密算法:Ek(m)=(k1*m+k2)%q;gcd(k ...
- NYOJ-768移位密码,最简单的代替密码;
移位密码 时间限制:1000 ms | 内存限制:65535 KB 难度:0 -> Link <- 还有1个半小时考信息安全导论,昨晚心血来潮在oj上看到这几个题,简直就是水啊 ...
- 移位密码(加密+解密)C++实现
移位密码 加密C=Ek(m)=m+k mod 26 解密m=Dk(m)=c-k mod 26 密钥空间|k|=26=|c|=|m| #include<iostream> #include& ...
- NYOJ题目1048破门锁
- nyoj 题目2 括号配对问题
描述 今天发现了nyoj,如获至宝.准备开刷. 括号配对问题 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的 ...
- NYOJ题目27水池数目
--------------------------------------------- 这道题有点坑,也怪我总是有点马虎,按照正常人的思维0是表示有水池啊竟然是1表示有水池,最坑的是写反了竟然还能 ...
随机推荐
- 备份Oracle数据库的脚本
@echo off goto bakoracle :bakoracle echo. echo ★☆★ 自动备份Oracle数据库 ★☆★ echo. set backpath=E:\Oracle ...
- sqlserver2008清日志
use [DB Name] Select NAME,size From sys.database_files GO ALTER DATABASE [DB Name] SET RECOVERY SIMP ...
- jQuery获取页面及个元素高度、宽度
获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 : $(window).width(); 获取页面的文档 ...
- Merge k Sorted Lists Leetcode Java
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 使 ...
- JAVA正则表达式:Pattern类与Matcher类详解
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表 ...
- 38 网络相关函数(六)——live555源码阅读(四)网络
38 网络相关函数(六)——live555源码阅读(四)网络 38 网络相关函数(六)——live555源码阅读(四)网络 简介 12)makeSocketNonBlocking和makeSocket ...
- String封装——读时共享,写时复制
碰到过一位一直怀疑C++标准库(STL)效率的人,他说STL效率太低,企业开发根本不会用.我是持反对意见的. 说这话的人,肯定没有做过大量的调查.没有调查就没有发言权. STL的效率是不低的,足够满足 ...
- PHP5.4开启zend opcache缓存
PHP5.5整合了zend opcache,但是5.4以下的需要自己安装. 介绍一下开启opcache方法,环境为wamp(php5.4.16) 下载dll文件 把php_opcache.dll放进p ...
- 常用浏览器user_agent大全
PC端: safari 5.1 – MACUser-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit ...
- EXTJS 6 必填项加星号*
/**重写ext filed组件, 实现表单必填项加红色*星号**/ Ext.override(Ext.form.field.Base,{ initComponent:function(){ if(t ...