1013 喝醉的选手

 

喝醉的选手

时间限制: 1000 ms | 内存限制: 65536 KB
描述

为了庆祝2007年北航ACM训练队出色的完成了ACM国际大学生程序设计竞赛亚洲区预选赛南京赛区、吉林赛区、成都赛区的参赛任务,以及北京赛区的竞赛组织工作。2008年1月19日,在Leo的带领(请客)下,训练队全体竞赛选手以及北京赛区组织人员一道,在汉某轩烧烤超市举行庆功晚宴。

由于汉某轩的二锅头是免费供应的,当大家都在烤肉的时候,队里的某个同学却在一瓶接一瓶地灌二锅头……

于是他醉了……

他喝醉的时候有这样一个有意思的现象。他喝醉的时候,按电脑键盘(如下图)的时候,总是会有规律的向右错一位。

 

比如,当他想按数字键1,他就会按成2键。此外,他只会伸手按下面这些按键:

  • 数字键
  • 除去Q A Z之外剩下的字母键
  • 键盘上除了`之外的一些特殊符号,(如 - = [ \ / )

但是,他不会特意去按键盘上的控制按键 如TAB ,Control,BackSp等等。

当他想输入空格键或者回车换行的时候,他总是能准确按到所希望的按键。

第二天,大家在实验室中他使用的计算机的屏幕上看到了一些奇怪的文字,那显然是他在喝醉之后留下的。我们想知道他原来想表达什么信息。

输入

输入数据包含许多行,每一行包括一些字符,这些字符可能包括,数字,字符(除Q,A,Z以外),符号(除`以外),空格。

输出

对于输入的每一个字符,请你还原他原来想按下的键盘按键。

样例输入
O S, GOMR YPFSU/
样例输出

I AM FINE TODAY.

模拟题,找到对应关系即可

#include <stdio.h>
main()
{
	char a[1000];
	char b1[100],b2[100];
	int i,j;

	b1[0]='`';b2[0]='1';
	b1[1]='1';b2[1]='2';
	b1[2]='2';b2[2]='3';
	b1[3]='3';b2[3]='4';
	b1[4]='4';b2[4]='5';
	b1[5]='5';b2[5]='6';
	b1[6]='6';b2[6]='7';
	b1[7]='7';b2[7]='8';
	b1[8]='8';b2[8]='9';
	b1[9]='9';b2[9]='0';
	b1[10]='0';b2[10]='-';
	b1[11]='-';b2[11]='=';
	b1[12]='Q';b2[12]='W';
	b1[13]='W';b2[13]='E';
	b1[14]='E';b2[14]='R';
	b1[15]='R';b2[15]='T';
	b1[16]='T';b2[16]='Y';
	b1[17]='Y';b2[17]='U';
	b1[18]='U';b2[18]='I';
	b1[19]='I';b2[19]='O';
	b1[20]='O';b2[20]='P';
	b1[21]='P';b2[21]='[';
	b1[22]='[';b2[22]=']';
	b1[23]=']';b2[23]='\\';
	b1[24]='A';b2[24]='S';
	b1[25]='S';b2[25]='D';
	b1[26]='D';b2[26]='F';
	b1[27]='F';b2[27]='G';
	b1[28]='G';b2[28]='H';
	b1[29]='H';b2[29]='J';
	b1[30]='J';b2[30]='K';
	b1[31]='K';b2[31]='L';
	b1[32]='L';b2[32]=';';
	b1[33]=';';b2[33]='\'';
	b1[34]='Z';b2[34]='X';
	b1[35]='X';b2[35]='C';
	b1[36]='C';b2[36]='V';
	b1[37]='V';b2[37]='B';
	b1[38]='B';b2[38]='N';
	b1[39]='N';b2[39]='M';
	b1[40]='M';b2[40]=',';
	b1[41]=',';b2[41]='.';
	b1[42]='.';b2[42]='/';
	b1[43]=' ';b2[43]=' ';
	b1[44]='\n';b2[44]='\n';
	
	while(gets(a)!=NULL)
	{    
           for(i=0;a[i]!='\0';i++)
			   for(j=0;j<=44;j++)
				   if(a[i]==b2[j])
					   a[i]=b1[j];

				   for(i=0;a[i]!='\0';i++)
					   printf("%c",a[i]);
				   
				
				   printf("\n");
				 
					 

	}
}

你可能感兴趣的:(c,工作,null,任务)