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:
Lazy Security Guard
Prefix function. Knuth–Morris–Pratt algorithm
P-binary
Sherlock and his girlfriend
Alyona and a Narrow Fridge
Suffix Automaton
Substitutes in Number
Boring Partition
Read Time
World of Darkraft - 2
Preorder Test
Restore Cube
Parity
Dirty Deeds Done Dirt Cheap
Bob and stages
Idempotent functions
Magical Boxes
Kuroni and Simple Strings
Pumping Stations
Water Tree
Cut the pie
Hilbert's Hotel
Limericks
Hongcow's Game
Coffee Varieties (hard version)
Substring Search
Vanya and Exams
Scheduling jobs on two machines
Xenia and Hamming
Check whether a graph is bipartite
Sereja and the Arrangement of Numbers
The Evil Temple and the Moving Rocks