zoukankan      html  css  js  c++  java
  • ZOJ Problem Set–1884 WERTYU

    Time Limit: 2 Seconds      Memory Limit: 65536 KB


    A common typing error is to place the hands on the keyboard one row to the right of the correct position. So "Q" is typed as "W" and "J" is typed as "K" and so on. You are to decode a message typed in this manner.

    Input

    Input consists of several lines of text. Each line may contain digits, spaces, upper case letters (except Q, A, Z), or punctuation shown above [except back-quote (`)]. Keys labelled with words [Tab, BackSp, Control, etc.] are not represented in the input.

    Output

    You are to replace each letter or punctuation symbol by the one immediately to its left on the QWERTY keyboard shown above. Spaces in the input should be echoed in the output.


    Sample Input

    O S, GOMR YPFSU/

    Sample Output
    I AM FINE TODAY.


    Source: University of Waterloo Local Contest 2001.01.27
    #include<iostream>
    
    #include<string>
    
    using namespace std;
    
    int main()
    
    {
    
      string s;
    
      while(getline(cin, s))
    
      {
    
        for(int i = 0; i < s.length(); i++)
    
        {
    
          switch(s[i])
    
          {
    
          case 'A':break;
    
          case 'B':cout<<'V';break;
    
          case 'C':cout<<'X';break;
    
          case 'D':cout<<'S';break;
    
          case 'E':cout<<'W';break;
    
          case 'F':cout<<'D';break;
    
          case 'G':cout<<'F';break;
    
          case 'H':cout<<'G';break;
    
          case 'I':cout<<'U';break;
    
          case 'J':cout<<'H';break;
    
          case 'K':cout<<'J';break;
    
          case 'L':cout<<'K';break;
    
          case 'M':cout<<'N';break;
    
          case 'N':cout<<'B';break;
    
          case 'O':cout<<'I';break;
    
          case 'P':cout<<'O';break;
    
          case 'Q':break;
    
          case 'R':cout<<'E';break;
    
          case 'S':cout<<'A';break;
    
          case 'T':cout<<'R';break;
    
          case 'U':cout<<'Y';break;
    
          case 'V':cout<<'C';break;
    
          case 'W':cout<<'Q';break;
    
          case 'X':cout<<'Z';break;
    
          case 'Y':cout<<'T';break;
    
          case 'Z':break;
    
          case '`':break;
    
          case '1':cout<<'`';break;
    
          case '2':case '3':case '4':case '5':
    
          case '6':case '7':case '8':case '9':cout<<char(s[i] - 1);break;
    
          case '0':cout<<'9';break;
    
          case '-':cout<<'0';break;
    
          case '=':cout<<'-';break;
    
          case '[':cout<<'P';break;
    
          case ']':cout<<'[';break;
    
          case '\\':cout<<']';break;
    
          case ';':cout<<'L';break;
    
          case ',':cout<<'M';break;
    
          case '.':cout<<',';break;
    
          case '/':cout<<'.';break;
    
          case '\'':cout<<';';break;
    
          case ' ':cout<<' ';break;
    
          }
    
        }
    
        cout<<endl;
    
      }
    
      return 0;
    
    }
  • 相关阅读:
    @NotNull @NotBlank @NotEmpty
    springboot @valid与@validated的参数校验使用总结
    一张表多个外键指向同一主键
    关于List的remove()方法
    双数据源切换问题
    前端通过jqplot绘制折线图
    关于js与jquery中的文档加载
    Mybatis中typeAliases的使用
    项目中常见数据库知识
    html中实现倒计时功能(setInterval,clearInterval)
  • 原文地址:https://www.cnblogs.com/malloc/p/2491520.html
Copyright © 2011-2022 走看看