• [ACM]n a^o7 !


    题目描述

    All brave and intelligent fighters, next you will step into a distinctive battleground which is full of sweet and happiness. If you want to win the battle, you must do warm-up according to my instructions, which can make you in the best state preparing to fight. Now please relax yourself and enjoy the good moment. Before you raise your sharp sword to the enemy who guards the battleground, please allow me to tell you a true and romantic story about a samurai like you. 
    Samurai hh fell in love with girl ss, who is charming and demure. He realized the truth that he must spend his remaining life with ss, and resolved to pursue the hard-won affection. One day hh wrote a letter to ss, when she opens the letter with excitement her mind was in tangle. She found herself completely not to figure out the meaning about the letter, which said that "n 55!w ! pue n a^o7 ! n paau !". ss also immersed herself in guessing the meaning of that letter for a long time because of her adore to hh. Finally she called hh to ask the meaning of the letter. On the other side of the phone, hh was too nervous to say. Gradually he calmed down himself and told ss to reverse the letter and read it. Then on both ends of the phone comes the voice at the same time "i need u i love u and i miss u".
    ss wants to tell each of you however you are Brave And Skilled, you shouldn't forget to express your loyal love and romantic feelings to your prince or princess.
    Now the horn sounds for battle,do it by the following input and output. I think each of you will get an "Accepted" in this battle with pleasant mood.

    输入

    Input contains an integer T in the first line, and then T lines follow .Each line contains a message (only contain 'n5!wpuea^o7!' and 
    ' '(space)), the message's length is no more than 100.

    输出

    Output the case number and the message. (As shown in the sample output)

    示例输入

    2n 55!w ! pue n a^o7 ! n paau !n5!wpuea^o7

    示例输出

    Case 1: i need u i love u and i miss uCase 2: loveandmisu

    解题思路:

    本题很有意思,相当于解密,题目中信的内容为密文,我们的任务是求明文,怎样求呢,题目中是把信翻转,对我们来说,1,把原来的字符换成为翻转后我们看到的字符,2,逆序输出。首先输入字符串,然后遍历每一个字符,If 语句判断,把所有的情况都列出来,把该换的字母换掉,最后用reverse()函数颠倒字符串,输出。

    代码:

    #include <iostream>
    #include <algorithm>
    #include <string>
    using namespace std;
    int main()
    {
        int T,t;
        cin>>T;
        string a;
        for(t=0;t<=T;t++)
        {
            getline(cin,a);//输入字符串
            int i;
            if(t!=0)//把第一次屏蔽掉
            {
                for(i=0;i<a.length();i++)
                {
                    if(a[i]=='!')//挨个字符判断,如果If成立,则字符变换
                        a[i]='i';
                    else if(a[i]=='u')//记得一定要用else if不要只写if,因为极有可能把需要换掉的字母再换回来
                        a[i]='n';
                    else if(a[i]=='a')
                        a[i]='e';
                    else if(a[i]=='p')
                        a[i]='d';
                    else  if(a[i]=='n')
                        a[i]='u';
                    else if(a[i]=='7')
                        a[i]='l';
                    else if(a[i]=='^')
                        a[i]='v';
                    else if(a[i]=='e')
                        a[i]='a';
                    else if(a[i]=='w')
                        a[i]='m';
                    else if(a[i]=='5')
                        a[i]='s';
    
               }
            reverse(a.begin(),a.end());//把字符串颠倒
            cout<<"Case "<<t<<": "<<a<<endl;//逆序输出
            }
        }
        return 0;
    }
    


     

    运行截图:

  • 相关阅读:
    Linux学习笔记——虚拟机VMWare和Ubuntu的安装
    毕业大论文格式排版(页眉页脚)Issue及解决办法
    NAT详解
    ARP是如何工作的?
    以太网,IP,TCP,UDP数据包分析
    mac os 10.10下安装android studio问题:android studio was unable to find a valid jvm
    Fragment的生命周期&同一Activity下不同Fragment之间的通信
    Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml
    Android系统中长按事件的实现机制解析
    Linux 系统库函数coreleft 与sbrk简介
  • 原文地址:https://www.cnblogs.com/sr1993/p/3697857.html
Copyright © 2020-2023  润新知