It was on 13th June, 2015; Unicommerce in association with Grey Meter organized India’s 1st Hackathon in Ecommerce Space. A Hackathon is an event where computer programmers get together and develop projects within a given frame of time.
As Unicommerce itself is a Tech Startup, hence to encourage and promote the young tech talents, it invited techies from across India for participation in the event through free online registration.
This Hackathon in the Ecommerce space turned out to be a very successful one with participation of 49 Teams including 125 techies. There was an amazing winning spirit among the participants during the entire event of 24 hours.
However, as they say – nothing good comes easy; even the Unicommerce Tech Experts had to struggle for two hours to fix the network issue occurred at the beginning of the event, caused due to unexpected number of participants for Hackathon.
Nevertheless, experts are experts. They always have solutions to the problems. Participants were given the first round of problem on paper to solve, which they had to submit within two and a half hours of time. Among all the 49 teams, only 16 teams could successfully make it to the 2nd Round of Hackathon, where they had to develop BOT to play the game designed by the Uni-Techies (Tech Specialists of Unicommerce).
As per the rules of the game, each team could play at most 5 times against each of the 15 teams. And after every round, the winning team gets the half of the losing team’s points. This gaming session continued for almost 8-10 hours and finally top 8 teams were selected on the basis of their performance ratings. Among these 8 teams, top 3 teams were announced as the winners of Hackathon while rest 4 teams received consolidated prizes.
Remember the 33 teams out of total 49, who could not make it to the second round of Hackathon? They were given a second chance to win extra consolation prizes by beating any of the top 3 winners of the Knockout (Final) Round. However, only 11 out of 33 teams took part in it but no team could beat the Hackathon winners.
This competition came to an end with the final announcement of Hackathon Winners. Mr. Arvind Saraf from Triveni Group – the Chief Guest of the Event, gave away the prizes to the Winners. He was 1997 IIT- JEE AIR (All India Rank) 1.
The Bylders from IIIT Delhi won the 1st prize worth Rs.100000 (INR 50,000 + INR 50,000 worth branded electronic goodies).
The Feathers from DTU (Delhi Technological University) won the 1st Runners Up worth Rs. 50000 (INR 25,000 + INR 25,000 worth branded electronic goodies.
And the 2nd Runners Up went to the Night Hawkers again a DTU team, who won worth Rs. 15000 (INR 15,000 + INR 15,000 worth branded electronic goodies).
Apart from these winners, there were another 4 teams – Shunya from NSIT, Public Static Main Void from UPES, Bugs from MNNIT and #888 from IIIT Delhi, who won consolation prize of worth Rs. 10,000 along with branded electronic goodies.
Besides, every techie received a Hackathon Participation Certificate from Unicommerce who came from some of the very reputed institutes of India, for example- IIT Delhi, IIT Guwahati, IIT Mandi, UPES, NSIT, DTU, IIIT Delhi, JIIT, IMSEC and so on.
To celebrate the success of Hackathon, Unicommerce organized an After Event Party at the venue where everyone seemed enjoying a lot.
Here are the two Problems set by Uni- Techies for Hackathon participants, which include-
Problem A: Water Storage – Qualifying problem
World is facing scarcity of water, and people have started accumulating water and looking for safe place to store it. Seeing this opportunity, you decided to open a water bank for customers to deposit and withdraw water as and when they need it. Customers carry water in bag of different sizes to your bank for storage, and you have deployed several water tanks of different sizes to store water from these bags.
And no customer wants his water to be mixed with water of another customer. To improve the utilization of your water tanks, you have decided to define a policy wherein no water tank will be partially filled which means that if a water tank has capacity of 2 liters it must be filled completely with 2 liters of water. Therefore water from 1-liter bag will not be stored in 2-liter tank.
Every day up to N customers come to your bank to deposit water, carrying bag ranging from upto C liters. As a bank owner you have to make sure that no customer is returned. Since it is start up, you are short on cash and therefore you have to minimize number of water tanks to be deployed everyday.
If up to 2 customers visit your bank, and they can deposit upto 3 liters. Then you can satisfy your customers by choosing any of the below combinations:
1. 6 Water tanks of 1 liter
2. 4 1-liter Water tank and 1 2-liter Water tank – Total of 5 Tanks
3. 2 1-liter water tank and 2 2-liter water tank – Total of 4 Tanks
4. 2 1-liter water tank and 1 2-liter water tank and 1 3-liter water tank – Total of 4 Tanks
5. … more options possible
So for N=2, C=3, you can satisfy all customers with 4 tanks (Option 3,4 above are best).
The first line of the input gives the number of test cases, T. Second line onwards, will contain 2 integers: N and C, the maximum size of water bag in liters.
100 Test cases
1 ≤ N ≤ 20, 1 ≤ C ≤ 3
1 ≤ N ≤ 1000, 1 ≤ C ≤ 1012
For each test case, output line should contain “Case #x: y”, where x is case number (starting from 1) and y is the minimum number of tanks needed.
Problem B: THE BATTLE OF THE KINGS
A. The Game
a. There is a board game played between two players. The board has nXn equal squares, where 8 <= n <= 15 (similar to a chess board).
b. Only two kings will be placed on the board at the starting of the game (one at 1,1 and second at n, n position).
c. The kings can move one square in any direction – up, down, to the sides, and diagonally, just like chess.
d. Each square can be visited at-most once by either of the kings.
e. The king who gets killed, or is out of moves loses the game.
B. What you need to do?
a. You need to write a bot, which can play the game on your behalf. And expose this bot as a webservice.
b. Your webservice should run on port 8080 and expose three APIs:
Note: By convention all positions are represented as x|y where x and y are respective coordinates on the board. Botto