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:
Intellectual Inquiry
Kaavi and Magic Spell
Factorial modulo $p$
Gotta Catch Em' All!
Learning and Improving Algorithm through contests - Antti Laaksonen
Alice and Hairdresser
And Yet Another Bracket Sequence
Happy Cactus
Rectangles and Square
Graph Reconstruction
Counting Rectangles is Fun
Euler's totient function
Egg Roulette
Om Nom and Necklace
Petr and Permutations
Into Blocks (easy version)
Pillars
Maximum Reduction
New Year and Conference
Zip-line
Composite Coloring
Bracket Sequence
Stars and bars
Foo Fighters
Bookshelves
Finding area of simple polygon in $O(N)$
Game
Boolean Computer
Students Initiation
Make It One
Tidying Up
Suffix Automaton