FJNU.1419
Description
在象棋中,马可以以日方式行走。
在棋盘中,一行为1-8,1列为a-h,算出马在棋盘上所输入的地方可以有几种行走方法!
Input
先输入数n,然后下面输入n数。
Output
几种走法。
Sample Input
3
a1
d4
g6
Sample Output
2
8
6
My Program
#include<stdio.h>
#include<string.h>
int could(int l,int h)

...{
int n=0;
if((((l+2)>='a')&&((l+2)<='h'))&&(((h+1)>=1)&&((h+1)<=8))) n++;
if((((l-2)>='a')&&((l-2)<='h'))&&(((h+1)>=1)&&((h+1)<=8))) n++;
if((((l+2)>='a')&&((l+2)<='h'))&&(((h-1)>=1)&&((h-1)<=8))) n++;
if((((l-2)>='a')&&((l-2)<='h'))&&(((h-1)>=1)&&((h-1)<=8))) n++;
if((((l+1)>='a')&&((l+1)<='h'))&&(((h+2)>=1)&&((h+2)<=8))) n++;
if((((l+1)>='a')&&((l+1)<='h'))&&(((h-2)>=1)&&((h-2)<=8))) n++;
if((((l-1)>='a')&&((l-1)<='h'))&&(((h+2)>=1)&&((h+2)<=8))) n++;
if((((l-1)>='a')&&((l-1)<='h'))&&(((h-2)>=1)&&((h-2)<=8))) n++;
return(n);
}
int main()

...{
int n,i,h,w[50];
char l;
scanf("%d",&n);
for(i=0;i<n;i++)

...{
getchar();
scanf("%c%d",&l,&h);
w[i]=could(l,h);
}
for(i=0;i<n;i++)
printf("%d ",w[i]);
return 0;
}
YOYO's Note:
超级傻的直接数可能的步数了……