#include using namespace std; //**************************************************************** // HackerRank Prepare > Mathematics > Fundamentals: Find the Point //**************************************************************** // point reflection. 180° rotation of point p around q to point r vector findPoint(int px, int py, int qx, int qy) { // rx – qx = qx – px // ry – qy = qy – py // rx = 2qx - px // ry = 2qy - py int rx = 2 * qx - px; int ry = 2 * qy - py; vector result{rx,ry}; return result; } int main() { vector,vector,vector>> testCases = { // px py qx qy rx ry { {0, 0}, {1, 1}, {2, 2} }, { {1, 1}, {2, 2}, {3, 3} }, }; for (auto test: testCases) { vector& p= get<0>(test); vector& q = get<1>(test); vector r = findPoint(p.at(0), p.at(1), q.at(0), q.at(1)); vector& expected = get<2>(test); for (auto i: p) { cout << i << " "; } cout << endl; for (auto i: q) { cout << i << " "; } cout << endl; for (auto i: r) { cout << i << " "; } cout << endl; for (auto i: expected) { cout << i << " "; } cout << endl; cout <<"----------\n"; } }