• OpenJudge / Poj 2141 Message Decowding


    1.链接地址:

    http://poj.org/problem?id=2141

    http://bailian.openjudge.cn/practice/2141/

    2.题目:

    Message Decowding
    Time Limit: 1000MS   Memory Limit: 65536K
    Total Submissions: 11784   Accepted: 6562

    Description

    The cows are thrilled because they've just learned about encrypting messages. They think they will be able to use secret messages to plot meetings with cows on other farms.

    Cows are not known for their intelligence. Their encryption method is nothing like DES or BlowFish or any of those really good secret coding methods. No, they are using a simple substitution cipher.

    The cows have a decryption key and a secret message. Help them decode it. The key looks like this:
            yrwhsoujgcxqbativndfezmlpk

    Which means that an 'a' in the secret message really means 'y'; a 'b' in the secret message really means 'r'; a 'c' decrypts to 'w'; and so on. Blanks are not encrypted; they are simply kept in place.

    Input text is in upper or lower case, both decrypt using the same decryption key, keeping the appropriate case, of course.

    Input

    * Line 1: 26 lower case characters representing the decryption key

    * Line 2: As many as 80 characters that are the message to be decoded

    Output

    * Line 1: A single line that is the decoded message. It should have the same length as the second line of input.

    Sample Input

    eydbkmiqugjxlvtzpnwohracsf
    Kifq oua zarxa suar bti yaagrj fa xtfgrj
    

    Sample Output

    Jump the fence when you seeing me coming
    

    Source

    3.思路:

    4.代码:

     1 #include<iostream>
     2 #include<cstring>
     3 #include <cstdio>
     4 
     5 using namespace std;
     6 char c[26];
     7 int main()
     8 {
     9     int i;
    10     char a[81];
    11     int size;
    12     for(i=0;i<26;i++) cin>>c[i];
    13     getchar();
    14     gets(a);
    15     size=strlen(a);
    16     for(i=0;i<size;i++)
    17     {
    18        if(a[i]==' ') cout<<a[i];
    19        else if(a[i]>='A'&&a[i]<='Z') cout<<(char)(c[a[i]-'A']-'a'+'A');
    20        else cout<<(c[a[i]-'a']);
    21     }    
    22     cout<<endl;
    23     //system("pause");
    24     return 0;
    25 }
  • 相关阅读:
    将博客搬至CSDN
    U盘启动盘 安装双系统 详细教程
    vmware安装linux6.3
    hadoop学习之路
    linux重定向总结:如何将shell命令的输出信息自动输出到文件中保存
    AVRO讲解
    MapReduce 工作原理
    lucene索引存储原理
    ES数据库系统
    分流器设备与交换机设备的区别
  • 原文地址:https://www.cnblogs.com/mobileliker/p/3907559.html
Copyright © 2020-2023  润新知