必威体育Betway必威体育官网
当前位置:首页 > IT技术

C. 跳马

时间:2019-08-13 00:15:24来源:IT技术作者:seo实验室小编阅读:68次「手机版」
 

跳马

无论在中国象棋还是国际象棋中“马”都是走“日”字的。比如我们把国际象棋的棋盘的左上角的坐标设为(0,0),它右边格子的坐标为(0,1),下边的格子坐标为(1,0),右下格子的坐标为(1,1),其它点的坐标以此类推。如果马现在位于(4,4)上,那么它一步能走到的格子的坐标分别为(3,2)、(2,3)、(2,5)、(3,6)、(5,6)、(6,5)、(6,3)、(5,2),现在我们把这八种走法分别标记为1、2、3、4、5、6、7、8,也就是说当输入为1是,代表马向左上偏下的点走,输入为2时代表马向左上偏上的点走,其它依次类推。现请你写一段程序,记录马在棋盘上行走的路线。

输入:

先是八行,每行为长度为8的字符串,代表棋盘上每个格里的字符(只包含大写字母)。

第9行是2个整数,代表马的初始位置。

第10行是一个字符串(长度大于0小于30),代表马每一步如何走。测试数据保证合法,且保证不存在走到棋盘以外的情况。

输出:

只有一行,依次为马行走路线上的格子里的字符(包括马的初始位置)。

输入样例

HIJKLMNO
PQERSTUV
WDXYLZAB
CDEFGHLI
LJKLMNOP
QRRSTUVO
WXYZOQWE
RTYUIOWP
0 0
555671113

输出样例

HELLOWORLD
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
    char st[8][10];
    int i,j,x,y;
    for(i=0;i<8;i++)
      gets(st[i]);
    scanf("%d%d",&x,&y);
    getchar();
    char ch[40],re[40];
    gets(ch);
    re[0]=st[x][y];
    for(i=0;ch[i];i++)
    {
    	if(ch[i]=='1')
    	{
    		x--,y-=2;
    		re[i+1]=st[x][y];
		}
		else if(ch[i]=='2')
    	{
    		x-=2,y--;
    		re[i+1]=st[x][y];
		}
		else if(ch[i]=='3')
    	{
    		x-=2,y++;
    		re[i+1]=st[x][y];
		}
		else if(ch[i]=='4')
    	{
    		x--,y+=2;
    		re[i+1]=st[x][y];
		}
		else if(ch[i]=='5')
    	{
    		x++,y+=2;
    		re[i+1]=st[x][y];
		}
		else if(ch[i]=='6')
    	{
    		x+=2,y++;
    		re[i+1]=st[x][y];
		}
		else if(ch[i]=='7')
    	{
    		x+=2,y--;
    		re[i+1]=st[x][y];
		}
		else if(ch[i]=='8')
    	{
    		x++,y-=2;
    		re[i+1]=st[x][y];
		}
	}
	for(i=0;i<strlen(ch)+1;i++)
	  printf("%c",re[i]);
	printf("\n");
	return 0;
}


相关阅读

“i.e.、e.g.、etc.”都是什么?

三个常见英文缩写 i.e. e.g. etc. i.e. and e.g. are both abbreviations for Latin terms. i.e.和e.g.都是拉丁语缩写。 i.e. s

英文论文中i.e.,e.g.,etc.的正确用法

i.e. 是拉丁文 id est 的缩写,它的意思就是“那就是说,换句话说”,等同于“that is,in other words” ,目的是用来进一步解释前面所说

一次PEDIY---修改Windows自带的calc.exe (OD Switch大

转自看雪论坛:http://bbs.pediy.com/thread-68066.htm 作者:stalker【文章标题】: 一次PEDIY---修改Windows自带的calc.exe【文章

(-215:Assertion failed) !_src.empty() in function

(-215:Assertion failed) !_src.empty() in function 'cv::cvtColor' Traceback (most recent call last):File "E:/project/cv_

msfeedssync.exe的介绍以及关闭的方法

近期因为本本奇慢无比而对系统采取了全面大清洗措施,对一干无用程序和系统垃圾进行了优化清理。 在整理系统进程的时候,发现系统经

分享到:

栏目导航

推荐阅读

热门阅读