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:
Purification
Captain Marmot
Pudding Monsters
Euclidean algorithm for computing the greatest common divisor
Finding a negative cycle in the graph
Round Marriage
New Year Book Reading
Snake
Challenges in school №41
Check if point belongs to the convex polygon in $O(\log N)$
Games on arbitrary graphs
Not Same
ELCA
Remove Duplicates
Mergesort Strikes Back
New Year Tree
Love "A"
University Classes
Monopole Magnets
R3D3’s Summer Adventure
NEKO's Maze Game
Sereja ans Anagrams
Attack on Red Kingdom
Edge connectivity / Vertex connectivity
Unsolvable
Spectator Riots
Boredom
Stairs and Elevators
Pudding Monsters
Quantifier Question
New Year and Social Network
Train Hard, Win Easy