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:
Points on Line
GCD Table
Keyboard
Counting Skyscrapers
Gotta Go Fast
Game with Strings
Making Shapes
Tree and XOR
NEKO's Maze Game
AND Graph
Submask Enumeration
Memory for Arrays
Enduring Exodus
Flights
Magic Grid
New Year Shopping
Train Hard, Win Easy
Dima and Two Sequences
Perfect Triples
Restructuring Company
Finding repetitions
World Eater Brothers
Transmitting Levels
R3D3’s Summer Adventure
Remove Duplicates
Declined Finalists
New Year and North Pole
Minimum spanning tree - Kruskal's algorithm
Ehab and Path-etic MEXs
Array Shrinking
Zoning Restrictions
Desk Disorder