Given three 2-Dimentional vector co-ordinates A, B and C. The task is to perform below operations any number of times on vector A to get vector B :
- Rotate the vector 90 degrees clockwise.
- Add vector C to it.
Print “YES” B is obtained using the above operations, else Print “NO”.
Input: Vector A: 2 3, Vector B: 2 3, Vector C: 0 0 Output: YES The given vector A has coordinate (2, 3) and we need to convert this vector A to vector B which is also (2, 3). By rotating vector A 4 times by 90 degrees and adding it to vector C(0, 0) will give us vector B(2, 3). Input: Vector A: 0 0, Vector B: 1 1, Vector C: 2 2 Output: NO
Below is the step by step algorithm to solve this problem:
- Initialize three vectors of 2-D coordinates as A ( a, b ), B ( x, y ) and C ( p, q ).
- Coordinates of vector A can be of any quadrant. So, initialize a check function for all the quadrant and check if any of it is true.
- Find a-x and b-y, which will tell us how much we need to make it to vector B.
- Initialize d = p*p + q*q. If d = 0 then you need not to add anything in vector A.
- If D > 0, then check if a*p + b*q and b*p – a*q is in the multiple of ‘d’ so that it is possible to get the vector B.
Below is the implementation of above algorithm:
- Find the mean vector of a Matrix
- How to convert Vector to array in Java
- Vector ensureCapacity() method in Java with Example
- Program to Convert a Vector to List in Java
- Check whether the number can be made perfect square after adding 1
- Check if it is possible to reach a number by making jumps of two given length
- Adding two polynomials using Linked List
- Find minimum possible digit sum after adding a number d
- Adding new column to existing DataFrame in Pandas
- Python | Adding a Chartsheet in an excel sheet using XlsxWriter module
- Find the winner by adding Pairwise difference of elements in the array until Possible
- Reach A and B by multiplying them with K and K^2 at every step
- Minimum step to reach one
- Count ways to reach the n'th stair
- Minimum number of jumps to reach end
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.