Bus Routes in C++

Arnab Chakraborty
Updated on 02-Jun-2020 11:25:11

1K+ Views

Suppose we have a list of bus routes. In each routes[i] there is a bus route that the i-th bus repeats forever. So, if routes[0] = [1, 5, 7], this means that the first bus (0-th indexed) travels in the sequence 1, 5, 7, 1, 5, 7, 1, ... forever.Now suppose we start at bus stop S, initially not on a bus, and we want to go to bus stop T. we have to find the least number of buses we must take to reach our destination? If this is not possible then return -1.So if the input is like ... Read More

Find the Area of an Ellipse in C++

Ayush Gupta
Updated on 02-Jun-2020 11:24:20

226 Views

In this tutorial, we will be discussing a program to find the area of an Ellipse.For this, we will be provided with the semi-major axis and semi-minor axis of the Ellipse. Our task is to calculate and print out the area of the given Ellipse.Example Live Demo#include using namespace std; //finding area of ellipse void findArea( float a, float b) {    float Area;    Area = 3.142 * a * b ;    cout

Chalkboard XOR Game in C++

Arnab Chakraborty
Updated on 02-Jun-2020 11:22:26

308 Views

Suppose we have an array called nums, where nums[i] are written on a chalkboard. Ram and Sam take turns erasing exactly one element from the chalkboard, with Ram starting first. If erasing a number causes the bitwise XOR of all the elements of the chalkboard to become 0, then that player loses. Bitwise XOR of one element is that element itself, and the bitwise XOR of no elements is 0. If any player starts their turn with the bitwise XOR of all the elements of the chalkboard equal to 0, then that player will win. Suppose the array is holding ... Read More

Split Array with Same Average in C++

Arnab Chakraborty
Updated on 02-Jun-2020 11:20:30

388 Views

Suppose we have one array A, we must move every element of A to either list B or list C. (These lists B and C are initially empty.) We have to check whether after such a move, it is possible that the average value of B is equal to the average value of C, and B and C are both non-empty.So if the input is like − [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], then the result will be true, To solve this, we will follow these steps −n := size of A, total := 0for initialize ... Read More

Smallest Rotation with Highest Score in C++

Arnab Chakraborty
Updated on 02-Jun-2020 11:18:15

165 Views

Suppose we have an array A, we may rotate it by a K so that the array becomes A[K], A[K+1], A{K+2], ... A[A.length - 1], A[0], A[1], ..., A[K-1]. Then, any entries that are less than or equal to their index are worth 1 point.So for example, let we have an array [2, 4, 1, 3, 0], and we rotate by K = 2, it becomes [1, 3, 0, 2, 4]. This is worth 3 points because 1 > 0 [gain no point], 3 > 1 [gain no point], 0

Preimage Size of Factorial Zeroes Function in C++

Arnab Chakraborty
Updated on 02-Jun-2020 11:15:02

228 Views

Suppose we have a function f(x), this will return the number of zeroes at the end of factorial of x. So for f(3) = 0 because 3! = 6 has no zeroes at the end, while f(11) = 2 because 11! = 39916800 has 2 zeroes at the end. Now when we have K, we have to find how many non-negative integers x have the property that f(x) = K.So if the input is like K = 2, then the answer will be 5.To solve this, we will follow these steps −Define a function ok(), this will take x,ret := 0for initialize i := 5, when i

K-th Smallest Prime Fraction in C++

Arnab Chakraborty
Updated on 02-Jun-2020 11:12:58

555 Views

Suppose we have one sorted list, there is 1 and some prime numbers, now for every p < q in the list, we will consider fraction p/q, then we have to find which is the kth smallest fraction. We have to return an array as answer, so ans[0] will be p and ans[1] will be q.So if the input is like [1, 3, 5, 7], and k = 2, then the answer will be 1/5, as the fractions are 1/3, 1/5, 1/7, 3/5, 3/7, 5/7, the second smallest is 1/5.To solve this, we will follow these steps −Define Data, this ... Read More

Transform to Chessboard in C++

Arnab Chakraborty
Updated on 02-Jun-2020 11:09:24

531 Views

Suppose we have one N x N board contains only 0s and 1s. Now in each move, we can swap any 2 rows, or any 2 columns. We have to find the minimum number of moves to transform the board into a "chessboard". If the solution does not exist, then return -1.So if the input is like −Then the output will be 2, as first two columns in the first move, then board will be like −Then swap second and 3rd rows −This is the chessboardTo solve this, we will follow these steps −n := size of bfor initialize i ... Read More

Reaching Points in C++

Arnab Chakraborty
Updated on 02-Jun-2020 10:52:50

180 Views

Suppose we have a starting points (sx, sy), and target point (tx, ty), we have to check whether a sequence of moves exists from the start point to the end point. Here move consists of taking a point (x, y) and transforming it to either (x, x+y) or (x+y, y).So if the inputs are (1, 1) and (4, 5), then the answer will be true, this is because move (1, 1) to (2, 1), then (3, 1), then (4, 1), then (4, 5).To solve this, we will follow these steps −while tx > sx and ty > sy, do −if ... Read More

Swim in Rising Water in C++

Arnab Chakraborty
Updated on 02-Jun-2020 10:50:40

329 Views

Suppose we have one N x N grid, each square grid[i][j] represents the elevation at that point (i, j). Now consider it has started raining. At time t, the depth of the water everywhere is t. We can swim from a square to another 4-directionally adjacent square when elevation of both squares individually is at most t. We can swim infinite distance in zero time.We should start from position (0, 0). We have to find the least time until we can reach the bottom right square (N-1, N-1)So if the input is like0123424232221512131515161117181920109876The correct way is colored. So the answer ... Read More

Advertisements