zoukankan      html  css  js  c++  java
  • hdoj 2816 I Love You Too

    I Love You Too

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 1756    Accepted Submission(s): 1056


    Problem Description
    This is a true story. A man showed his love to a girl,but the girl didn't replied clearly ,just gave him a Morse Code:
    ****-/*----/----*/****-/****-/*----/---**/*----/****-/*----/-****/***--/****-/*----/----*/**---/-****/**---/**---/***--/--***/****-/   He was so anxious that he asked for help in the Internet and after one day a girl named "Pianyi angel" found the secret of this code. She translate this code as this five steps:
    1.First translate the morse code to a number string:4194418141634192622374
    2.Second she cut two number as one group 41 94 41 81 41 63 41 92 62 23 74,according to standard Mobile phone can get this alphabet:GZGTGOGXNCS

    3.Third she change this alphabet according to the keyboard:QWERTYUIOPASDFGHJKLZXCVBNM = ABCDEFGHIJKLMNOPQRSTUVWXYZ
    So ,we can get OTOEOIOUYVL
    4.Fourth, divide this alphabet to two parts: OTOEOI and OUYVL, compose again.we will get OOTUOYEVOLI
    5.Finally,reverse this alphabet the answer will appear : I LOVE YOU TOO

    I guess you might worship Pianyi angel as me,so let's Orz her.
    Now,the task is translate the number strings.
     
    Input
    A number string each line(length <= 1000). I ensure all input are legal.
     
    Output
    An upper alphabet string.
     
    Sample Input
    4194418141634192622374
    41944181416341926223
     
    Sample Output
    ILOVEYOUTOO
    VOYEUOOTIO
    不断地模拟,根据题目翻译密码
    #include<stdio.h>
    #include<string.h>
    #define MAX 1100
    char s[MAX];
    int a[30];
    char str2[MAX];
    char str5[MAX];
    char str3[30]={"QWERTYUIOPASDFGHJKLZXCVBNM"};
    char str4[30]={"ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
    char str1[20][5]={"","","ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ"};
    char str6[MAX],str7[MAX];
    int main()
    {
        int n,m,j,i,t,l1,l2,l3,l4;
        while(scanf("%s",s)!=EOF)
        {
            memset(a,0,sizeof(a));
            memset(str2,'',sizeof(str2));
            memset(str5,'',sizeof(str5));
            memset(str6,'',sizeof(str6));
            memset(str7,'',sizeof(str7));
            l1=strlen(s);
            j=0;
            for(i=0;i<l1;i=i+2,j++)
                str2[j]=str1[s[i]-'0'][s[i+1]-'1'];
            l2=strlen(str2);
            for(i=0;i<l2;i++)
            for(j=0;j<26;j++)
            {
                if(str2[i]==str3[j])
                {
                    a[i]=j;
                    break;
                }
            }
            for(i=0;i<l2;i++)
                str5[i]=str4[a[i]];
            int k=l2/2;
            j=0;
            if(l2&1)
            {
                for(i=l2-1;i>k;i--)
                str6[j++]=str5[i];   
                j=0;
                for(i=k;i>=0;i--)
                str7[j++]=str5[i];
           }
           else
           {
           	    for(i=l2-1;i>=k;i--)
                str6[j++]=str5[i];         
    	        j=0;
                for(i=k-1;i>=0;i--)
                str7[j++]=str5[i];           
           }
            if(l2&1)
            for(i=0;i<=k;i++)
            {
                printf("%c",str7[i]);
                if(i==k)
                break;
                printf("%c",str6[i]);
            }
            else
            for(i=0;i<k;i++)
            {
                printf("%c",str6[i]);
                printf("%c",str7[i]);
            }
            printf("
    ");
        }
        return 0;
    }
    

      

  • 相关阅读:
    AsWing入门教程 1.4 在面板中显示信息
    AsWing 入门教程 1.3 给框架定位
    LocalConnection AS2与AS3通信说明
    Tuscany SCA与Spring、Hibernate整合之简洁方法
    《spring2.0技术手册》读书笔记九spring与hibernate整合DAO的书写,HibernateTemplate解析
    求n个骰子各点数和出现的概率动态规划
    oracle常用函数总结
    Hadoop概要MapReduce的认识
    HDFS的使用及编程
    Apache Hadoop的安装与配置
  • 原文地址:https://www.cnblogs.com/tonghao/p/4676149.html
Copyright © 2011-2022 走看看