Module: hình học


Problem

3 /7


Vasya lười biếng và việc phát hành Half-Life 3

Theory Click to read/hide

Có thể xác định dòng theo 5 cách khác nhau:
1) phương trình \( y = kx + b\); phương trình đầu tiên của một đường thẳng được dạy trong nhà trường thuận tiện cho việc xây dựng và tính toán bằng tay, nhưng việc sử dụng nó trong một chương trình rất bất tiện;
2) bằng 2 điểm nằm trên nó - thực sự khá tiện lợi, nhưng có ứng dụng khá hẹp;
3) bởi vectơ pháp tuyến của một đường thẳng và một điểm - vectơ pháp tuyến của một đường thẳng là một vectơ vuông góc với nó, thông tin thêm về nó bên dưới;
4) dọc theo vectơ chỉ phương của đường thẳng và điểm - vectơ chỉ phương là một vectơ nằm trên đường thẳng và vuông góc với vectơ pháp tuyến (tốt, logic), về nó bên dưới;
5) phương trình đường thẳng \(ax + by + c = 0\); phương trình cổ điển của một đường thẳng, trong hầu hết các trường hợp là phổ quát nhất. Bây giờ về anh ấy.

Tọa độ của vectơ pháp tuyến của một đường thẳng như vậy: \((a; b)\) hoặc \( (-a; -b)\).

Tọa độ vectơ chỉ phương của một đường thẳng như vậy: \((-b; a)\) hoặc \ ((b; -a)\).

Các đường thẳng song song nếu:
\({a1 \over b1} = {a2 \over b2}\).

Khoảng cách từ một điểm đến một đường thẳng (hãy cẩn thận: khoảng cách có thể âm, tất cả phụ thuộc vào điểm nằm ở phía nào của đường thẳng):
\({(a \cdot x_1 + b \cdot y_1 + c) \over \sqrt{a^2 + b^2}}\),
trong đó x1, y1 là tọa độ của điểm.

Dựng một đoạn thẳng từ một vectơ pháp tuyến và một điểm, hoặc một vectơ chỉ phương và một điểm, cuối cùng là dựng một đoạn thẳng từ 2 điểm, vì vậy hãy xem xét nó (nó cũng là cách được sử dụng phổ biến nhất ).

Nếu x1, y1, x 2, y2 - tọa độ của điểm thứ nhất và điểm thứ hai tương ứng, sau đó

\(a = y_1 - y_2\)

\(b = x_2 - x_1\)

\(c = x_1 \cdot y_2 - x_2 \cdot y_1\)

Problem

Một điều kỳ diệu đã xảy ra! Half-Life 3 được chờ đợi từ lâu, mà hàng triệu người trên thế giới mơ ước, cuối cùng đã ra mắt! Vasya cũng rất mong chờ phần tiếp theo của bộ truyện huyền thoại, và thậm chí đã không ăn trong căng tin của trường trong cả tháng trời, để có đủ tiền mua kiệt tác này! Vấn đề duy nhất cản đường anh ấy là một bài tập về nhà đại số khổng lồ. Trong lớp, cậu ấy đã trải qua một chủ đề mới - đường thẳng, và bây giờ cậu ấy cần thực hiện tối đa N nhiệm vụ về dựng một đường thẳng đi qua 2 điểm. Nhưng bạn thực sự muốn chơi, và ngày hôm sau hãy nói với bạn bè của bạn rằng có một hình ảnh thú vị ở đó ... Vì vậy, anh ấy đã nhờ bạn, bạn của anh ấy, giúp anh ấy.
 
Đầu vào
Dòng đầu tiên chứa tọa độ của điểm đầu tiên (X1, Y1), ( \(-50 <= X_1, Y_1 <= 50\)).
Dòng thứ hai chứa tọa độ của điểm thứ hai (X2, Y2), ( \(-50 <= X_2, Y_2 <= 50\)).
 
Đầu ra
Trên một dòng in ra 3 số nguyên liên tiếp: các hệ số a, b, c của phương trình đường thẳng.
 
Lưu ý: nếu tác vụ của bạn không hoạt động, nhưng bạn chắc chắn rằng mọi thứ đều đúng, hãy thử nhân tất cả các hệ số với -1. Nhiệm vụ giả định rằng bạn đã sử dụng các công thức lấy từ bài giảng/lý thuyết.

 

Ví dụ
<đầu>
# Đầu vào Đầu ra
1
-1 -1
1 1
-2 2 0