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:
Cut the pie
Train Hard, Win Easy
Maximum flow - Dinic's algorithm
Leaf Partition
Fox And Travelling
Divisor Tree
Substring Search
Sqrt Tree
Red Blue Tree
Fish Weight
Chicken or Fish?
Haar Features
Cowboy Beblop at his computer
Bonus Distribution
Bags and Coins
Marvolo Gaunt's Ring
Dijkstra Algorithm
Rectangles and Square
Optimal Point on a Line
New Year and Finding Roots
2 - SAT
Burnside's lemma / Pólya enumeration theorem
LRU
Dating
Intellectual Inquiry
One-Way Reform
Magic Odd Square
Movie Fan
Underfail
Third Month Insanity
Elementary
Inversions problem