Posts

Video Discussion of Codechef Lunchtime April - 2020

Hi guys,
I have discussed here the problems of Codechef April Ltime 2020.

First 4 probs.
Next 2 probs.

Hope you like them :)

Editorialist at Codechef and Video Discussion - April CookOff 2020

Hi guys,
Recently, I worked with Codechef, where I was the editorialist of the April Cook-Off Contest, 2020.

Here is a link to the contest. I wrote the editorials for all the seven problems, simulating the way in which I myself think about them.

After contest, me and Teja Vardhan Reddy discussed the problems. Click to see!


PotemkinCycle is Intense.

Its someday of the week. I am in Germany. I wake up in the morning. Open messenger. Adhyyan has asked us to try Potemkin Cycle from CEOI 2015 day1. I ignore it for the day, but again the next day there is some discussion about it in the group. I download and open it too. A biggg mistake.
Problem: find any cycle with >3 nodes so that there are no edges between 2 nodes in this cycle unless they are consecutive nodes. (Chordless cycle ?!).   N=1000. M=100,000
Simple enough statement. How hard can it be. Its the next day morning, and I start thinking on it. Have a few ideas but quickly discard them. Finding a cycle and checking is ofcourse exponential. Can the solution be randomized? Maybe. Who knows. Meanwhile it see that adhyyan has already seen the editorial, and coded. WA. Anay meanwhile reads it, and after a few minutes (as always) says he has got it. PMing Adhyyan.I have another wrong idea : fix 1st and 3rd node of cycle and see if a possibke 2nd and 4th nodes exists or not. But…

Game Development and Intro to programming.

I got started into programming through game development. Started off in Qbasic, which was then being taught in our school. This was towards the end of my 7th grade. Till then, I knew as much about programming as any of my classmates. Me and two of my friends wanted to make a pingpong for our annual exhibition that was up in about two months. However, after two days, the other two gave up. I didn't. It seemed interesting, and a challenge, so I looked up a lot of stuff on the internet, and the most important was how to account for the time delay for the game loop. If I recall correctly, I made use of a sound command, which played a frequency for a certain amount of time, so all the time the game played, there was a low humming noise. Wierd but okay. Also, I remember that I wrote the full code for the pingpong in pen and paper. Ofcourse, there was one user and one computer, and the computer had some wierd heuristical movement, and then the ball also had some randomised speed changes…

Necromantion : A rough Sketch of Mechanisms.

Rough Sketch of How Things Work
I wont be going into the exact details of how things work, mostly because it has been about 2 years since I stopped working on this particular game, and have mostly forgotten how things were supposed to work. 
As I have mentioned already in some previous blog, there are several GameEngines, with a specific task. The most important one by far is the GameEngine. The engines work alongwith the GameLoop.  What happens is that after the gameloop is started, it pings all the engines to update themselves and render their new forms to the GameWindow. I will only go into how the gameEngine is updated. 
Firstly, there are two modes in which the GameEngine(henceforth referred to as GE) can be in :  Map mode or inventory mode. Basically, in the map mode, the map is shown and the player can move about, attack enemies, collect and place items in the backpack. The inventory mode is basically the backpack. Here you can do stuff to the items in the backpack. 
Backpack …

An Introduction to MongoDB

What is MongoDb?
MongoDb is a opensource database, that stores data in a document-oriented data model. It is what an example of what is commonly known as a NoSQL database. But let's get a bit thorough on this. 
Normally, we are usually introduced to Relational Databases, like MS Access. Those are primarily SQL based languages. They have tables in which data is stored. Each table has multiple rows, and each row has multiple columns or fields. The data stored follows a well defined schema. Moreover, relations can be set-up between various tables, so that redundant data is not stored. One of the main advantages is that we can thus change the data in only one location and the effects are observed everywhere. Also, due to the presence of a schema, we know beforehand what all fields exist in the tables. But enough about Relational/SQL databases. 
MongoDB, however is very different from the setup. Instead of tables, it has what are called as "Collections", though one can be ro…