BEENUMS - Beehive Numbers
A beehive is an enclosed structure in which some honey bee species live and raise their
young. In this problem we consider a two-dimensional sketch of the beehives. Each
beehive is composed of a certain number of cells, where each cell is a regular hexagon.
Each cell may have some neighbors, which are other cells that share a side with that cell.
A cell with exactly 6 neighbors is an internal cell, while a cell with fewer neighbors is an
external one. Notice that an external cell can always be changed to internal by adding
some neighbor cells.
We are interested in a particular class of beehives. This class of valid beehives is defined
recursively as follows: a) a single cell is a valid beehive; and b) given a valid beehive B,
if we add the minimum number of cells such that each external cell of B becomes an
internal cell, the result is a valid beehive.
The number of cells in a valid beehive is called a beehive number. Given an integer N ,
you must decide whether it is a beehive number.
Each test case is described using a single line. The line contains an integer N (1 ≤ N ≤
109 ). The end of input is indicated with a line containing a single −1.
For each test case, output a single line containing an uppercase “Y” if N is a beehive
number, or an uppercase “N” otherwise.
Very Easy problem if You can observe pattern and apply brute force :) ;)
comment helps a lot but it also destroy the pleasure of problem so please don't post the logic only post hint to that.
long - WA
Solved each query in O(1) with a bit precomputation...
Use Long in JAVA, cost me a lot of effort
AC in one GO
I used binary search but it looks that there is a simpler solution...
Just by Given TestCases and Brute Force => :)Last edit: 2016-02-09 04:51:57
pretty simple logic. (4*n-1)/3 is perfect square , its a beehive number. thank you @ashishLast edit: 2016-03-09 16:36:53