URAL 1197. Lonesome Knight

1197. Lonesome Knight

Time limit: 1.0 secondMemory limit: 64 MB

The statement of this problem is very simple: you are to determine how many squares of the chessboard can be attacked by a knight standing alone on the board. Recall that a knight moves two squares forward (horizontally or vertically in any direction) and then one square sideways (perpedicularly to the first direction).

Input

The first line contains the numberNof test cases, 1 ≤N≤ 100. Each of the followingNlines contains a test: two characters. The first character is a lowercase English letter from ‘a’ to ‘h’ and the second character is an integer from 1 to 8; they specify the rank and file of the square at which the knight is standing.

Output

OutputNlines. Each line should contain the number of the squares of the chessboard that are under attack by the knight.

Sample

inputoutput

3a1d4g6286

骑士走两个方格组成的大矩形的对角线,,问从当前位置出发有多少个方向可以走

注意边界就可以

#include<cstdio>#include<iostream>using namespace std;int knight(int m,int n){int num=0;if(m-1>=1){if(n-2>=1) num++;if(n+2<=8) num++;}if(m+1<=8){if(n-2>=1) num++;if(n+2<=8) num++;}if(m+2<=8){if(n+1<=8) num++;if(n-1>=1) num++;}if(m-2>=1){if(n+1<=8) num++;if(n-1>=1) num++;}return num;}int main(){int n,b;char a;while(cin>>n){for(int i=0;i<n;i++){cin>>a>>b;printf("%d\n",knight(a-'a'+1,b));}}return 0;}

福报不够的人,就会常常听到是非;

URAL 1197. Lonesome Knight

相关文章:

你感兴趣的文章:

标签云: