The only king stands on the standard chess board. You are given his position in format “cd”, where c is the column from ‘a’ to ‘h’ and d is the row from ‘1’ to ‘8’. Find the number of moves permitted for the king.
Check the king’s moves here https://en.wikipedia.org/wiki/King_(chess).
King moves from the position e4
Input
The only line contains the king’s position in the format “cd”, where ‘c’ is the column from ‘a’ to ‘h’ and ‘d’ is the row from ‘1’ to ‘8’.
Output
Print the only integer x — the number of moves permitted for the king.
Example
input
e4
output
8
Solution:
#include <bits/stdc++.h> using namespace std; int main() { char s[42]; scanf("%s", s); int x, y; if (s[0] == 'a' || s[0] == 'h') { x = 2; } else { x = 3; } if (s[1] == '1' || s[1] == '8') { y = 2; } else { y = 3; } printf("%d\n", x * y - 1); return 0; }
Related posts:
Cow and Treats
Bears and Juice
Median on Segments
Sliding Doors
Parity
New Year and the Tricolore Recreation
PolandBall and Gifts
Vanya and Computer Game
Lazy Security Guard
Upgrading Tree
Minimum-cost flow - Successive shortest path algorithm
Suffix Automaton
Wilbur and Trees
PolandBall and White-Red graph
Tricky Interactor
Correcting Mistakes
Wise Men (Easy Version)
Bombs
Missing Numbers
Polygons
T-shirt buying
Finding bridges in a graph in $O(N+M)$
Triangle
Security
Desk Disorder
Palindrome
New Year and Hurry
Work Group
Rectangles and Square
K Paths
Kaavi and Magic Spell
Nearest Leaf