• 1008: University


    台州ACM:1008: University 


    Description

    在大学里,非常多单词都是一词多义。偶尔在文章里还要用引申义。这困扰Redraiment非常长的时间。



    他開始搜集那些单词的全部意义。他发现了一些规律,比如

    “a”能用“e”来取代, “c”能用“f”来取代……

    如今他给出了字母的替换规则,例如以下所看到的,A被E替换,B被C替换,依次类推。

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    E C F A J K L B D G H I V W Z Y M N O P Q R S T U X

    a b c d e f g h i j k l m n o p q r s t u v w x y z

    e r w q t y g h b n u i o p s j k d l f a z x c v m

    Input

    本题包含多组測试数据。


    每组測试数据为一行:为仅由字母和空格组成的字符串(空格不变),长度不超过1000个字符。
    输入以单行“#”结束。

    Output

    相应每组測试数据,替换后输出它的引申义。

    Sample Input

    Ilttabaje zaujljg
    #

    Sample Output

    Different meaning


    #include <iostream>
    #include <conio.h>
    #include <string>
    
    using namespace std;
    
    int main( void )
    {
    	string arraya;
    	char arrayb[ 1001 ];
    	int i;
    	char a[ 2 ][ 27 ]= 
    	{ 
    		"ECFAJKLBDGHIVWZYMNOPQRSTUX",
    		"erwqtyghbnuiopsjkdlfazxcvm"
    	};
    
    	while( 1 )
    	{
    		getline(cin, arraya );
    
    		if( arraya[ 0 ]== '#' )
    		{
    			break;
    		}
    
    		for( i= 0; i< arraya.size(); i++ )
    		{
    			if( arraya[ i ]>= 'A' && arraya[ i ]<= 'Z' )
    			{
    				arrayb[ i ]= a[ 0 ][ arraya[ i ]- 65 ];
    			}
    			else if( arraya[ i ]>= 'a' && arraya[ i ]<= 'z' )
    			{
    				arrayb[ i ]= a[ 1 ][ arraya[ i ]- 97 ];
    			}
    			else
    			{
    				arrayb[ i ]= arraya[ i ];
    			}
    		}
    	    arrayb[ i ]= '';
    		cout<< arrayb<< endl;
    	}
    
    	return 0;
    }


  • 相关阅读:
    nginx:安装成windows服务
    org.aspectj.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 18
    数据库中间件
    架构策略
    谈判
    设计模式 总结 常用10种
    08 状态模式 state
    07 策略模式 strategy
    06 命令模式(不用)
    05 观察者模式 Observer
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5135287.html
Copyright © 2020-2023  润新知