Вектор. Скалярний добуток
Дуже проста
Обмеження на час виконання 1 секунда
Обмеження на використання пам'яті 128 мегабайтів
Дано два вектори. Знайдіть їхній скалярний добуток та кут між ними.
Напишіть код, дотримуючись наступного інтерфейсу:
class Vector // C++ { public: int dx, dy; Vector(void); // Конструктор. Зчитує координати вектора double Len(void); // Повертає довжину вектора int operator *(Vector &b); // Перевантаження оператора *: повертає скалярний добуток векторів double GetAngle(Vector &b); // Повертає в радіанах кут між поточним вектором і вектором b };
class Vector // Java { private int dx, dy; Vector(); // Конструктор, створює нульовий вектор Vector(int dx, int dy); // Конструктор, створює вектор (dx, dy) public double getLength(void); // Повертає довжину вектора public int Scalar(Vector v); // Повертає скалярний добуток поточного вектора і вектора v public double GetAngle(Vector v); // Повертає в радіанах кут між поточним вектором і вектором v };
Вхідні дані
Чотири цілі числа - координати ненульових векторів. Кожне число за модулем не перевищує 10000.
Вихідні дані
У першому рядку виведіть скалярний добуток двох векторів, а в другому рядку - величину неорієнтованого кута між векторами з точністю до п'яти десяткових знаків. Виведене число повинно належати інтервалу [0; π].
Приклади
Вхідні дані #1
Відповідь #1
Відправки 619
Коефіцієнт прийняття 53%