BA ĐIỂM THẲNG HÀNG

Trong hệ tọa độ Đề Các vuông góc Oxy, cho \(n\) điểm phân biệt \(a_{1},a_{2},\ldots,a_{n}\). Mỗi điểm \(a_{}i\ (i = 1,\ 2,..,n)\) được xác định bởi hoành độ và tung độ của điểm đó. Ba điểm phân biệt được gọi là thẳng hàng với nhau khi và chỉ khi chúng nằm trên cùng một đường thẳng.

Yêu cầu: Hãy đếm trong số \(n\) điểm đã cho có bao nhiêu bộ ba điểm thẳng hàng? Biết rằng hai bộ được gọi là khác nhau nếu chúng khác nhau ít nhất một điểm.

Dữ liệu vào:

- Dòng đầu tiên ghi số nguyên dương \(n\ (3 < n < \ 2000)\);

- \(n\) dòng tiếp theo, mỗi dòng ghi 2 số nguyên \(x_{i}\)\(y_{i}\) tương ứng là hoành độ và tung độ của điểm \(a_{i}\) với \(i\) từ 1 đến \(n\ (|x_{i}| < 10^{5},\ |y_{i}| < 10^{5})\).

Kết quả:

+ Ghi một số duy nhất là số bộ ba điểm thẳng hàng tìm được.

Ví dụ:

Input Output Input Output
3
-1 -2
1 0
3 2
1 4
-1 -2
1 0
3 2
4 3
4

Giới hạn:

- Subtask 1: tương ứng 60% số điểm điểm với \(n = 3\);

- Subtask 2: tương ứng 20% số điểm với \(3 < n\ \leq \ 100\);

- Subtask 3: tương ứng 20% số điểm với \(100 < n \leq \ 2000\).

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. sythai (5/8)
  2. npk1605 (5/10)
  3. trungnam (4/4)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]