Sunday 16 July 2017

UVa 1203 - Argus C++ map and priority queue

Question

Solution to this UVa problem by using simple data structures like map and priority queue.


Solution

Since priority queue stores data in descending order but we needed ascending order, we simply stored negative instead of positive. Alternatively we might have to write our own comparing function.

Friday 14 July 2017

Thursday 13 July 2017

Competitive Programing: Vowel Substring

Q: Given a string find all the number of sub-strings which contain all the five vowels at least once.


It is solved in two ways:

  1. A slightly more complicated linear scan method
  2. By generating all the sub-strings and then checking whether or not it satisfies the our requirements. (brute force)

Tuesday 11 July 2017

UVa 00637 - Booklet Printing

This problem is an adhoc problem that asks to you to design a system to print folding booklets. The problem description and test cases can be found here.

Saturday 8 July 2017

Record internal speaker audio in Linux

Record internal speakers in linux
Recording internal audio in Linux
The other day I came up with this brilliant idea to use my mobile phone as a bluetooth speaker for my laptop. I decided this could be easily accomplished once we had access to the whatever the audio card has, save it and stream it on tcp or udp port across a network connection to my mobile phone by piping it netcat after conversion to wav.

Sounds perfect, except the fact that it has been already implemented. Meanwhile, through numerous visits to stackoverflow and askUbuntu I finally discovered a cool new way to record audio.


Tuesday 4 July 2017

Uva 278 - Chess

This problem  is one of the best ad-hoc problems I have come across - simple but thought provoking. It asks you to the maximum number of  rooks, queens, kings or knights you could place on n*m chess board such that no piece attack another.
Given that 4<=m,n<=10.

Uva 11586 - Train Tracks

This is a solution to this Ad Hoc Problem on uva online judge.

Monday 3 July 2017

Summing the digits of a number in C++

Q: This is a simple ad-hoc problem which asks to sum up the digits of a number repeatedly until the sum is less than 10. We are required to stop the program when input given is 0.