Makarov's Ambition - Mindstormer April 20 Question Brief : Two numbers s (number of states) and d (number of districts) followed by a series of 'n' numbers (0 and 1) will be given to you such that s*d=n. All you have to do is check that is there any way to divide the series into n parts such that in majority of states, the guild is victorious. The guild wins if more than half of the districts are won by the guild. Also the division will be consecutive. For example: if s=3, d=2 and series is a1, a2, a3, a4, a5, a6. so division can be made in only these two ways : (a1, a2), (a3, a4), (a5, a6) (a2, a3), (a4, a5), (a6,a1) Prequisite : Basic Programming Approach : We have to take two arrays, one to store the series and other stores the sum of series till that index. There can be only that number of ways to divide the states as many districts a state can have. All you have to do is check for the majority, by checking the
Happy Group Question Breif A group of blocks is said to be connected if we can reach from any given block to any other block in the same group, and this group is known as happy group . Given N blocks (numbered from 1 to N) and two lists of size M (u and v) denoting block u[i] is connected to block v[i] and vice versa . Can you count the number of happy groups. Note: A block is always connected to himself Link to question: https://www.hackerrank.com/contests/mindstormer-apr20/challenges/happy-group Approach: Graph- BFS we keep arrays u and v as given in the question. We create a 2D array-edges(ed) which keep record of whichblocks are connected with each other. We maintain visited array(vis) that keep record of which block is visited and which is left. Further explanation is in the comments with the code. The main thing used is BFS and graph to solve this problem