首页 > 代码库 > 1008: University

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 ]= ‘\0‘;
		cout<< arrayb<< endl;
	}

	return 0;
}


1008: University