zoukankan      html  css  js  c++  java
  • NYOJ题目769乘数密码

    -----------------------------------------

    这道题目是有一点小技巧的,因为取模运算没办法还原所以只好计算所有存储起来然后找映射,但是存储数据的使用场景是解密,再存储从明文到密文的映射就不太合适了,于是就存储从密文到明文的映射,这样子的话解密的时候就可以线性的从密文到明文。

    AC代码:

     1 import java.io.BufferedReader;
     2 import java.io.IOException;
     3 import java.io.InputStreamReader;
     4 
     5 public class Main {
     6 
     7     public static void main(String[] args) throws IOException {
     8         
     9         BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));;
    10         
    11         boolean first=true;
    12         
    13         while(first || reader.ready()){
    14             first=false;
    15             
    16             String s=reader.readLine();
    17             String ss[]=s.split("\s{1,}");
    18             initMapping(Integer.parseInt(ss[1]));
    19             System.out.println(encoding(ss[0]));
    20         }
    21     }
    22     
    23     private static int[] mapping=new int[26];
    24     
    25     public static void initMapping(int k){
    26         for(int i=0;i<mapping.length;i++){
    27             mapping[k*i%26]=i;
    28         }
    29     }
    30     
    31     public static char[] encoding(String s){
    32         char cs[]=s.toCharArray();
    33         for(int i=0;i<cs.length;i++){
    34             cs[i]=(char) (mapping[cs[i]-'A']+'A');
    35         }
    36         return cs;
    37     }
    38     
    39 }

    题目来源: http://acm.nyist.net/JudgeOnline/problem.php?pid=769

  • 相关阅读:
    DOM编程
    BOM编程
    JavaScript
    CSS
    HTML入门
    shiro与项目集成开发
    shiro授权测试
    散列算法
    shiro认证流程
    spring boot 入门及示例
  • 原文地址:https://www.cnblogs.com/cc11001100/p/5816579.html
Copyright © 2011-2022 走看看