trang chủ / bài tập / paraback

Hình bình hành trở lại

Đề bài

Mô tả

Một bài toán cũ có dữ liệu vào là bốn điểm nguyên trên mặt phẳng tọa độ, tạo thành tập đỉnh của một hình bình hành không suy biến (diện tích dương). Bốn điểm không nhất thiết được liệt kê theo thứ tự duyệt quanh hình.

Dòng cuối của dữ liệu đã bị mất, nên bây giờ chỉ còn ba trong bốn điểm. Hãy khôi phục điểm thứ tư.

Cụ thể, cho ba điểm nguyên phân biệt và không thẳng hàng. Hãy đếm số cách thêm một điểm nguyên thứ tư sao cho bốn điểm thu được tạo thành tập đỉnh của một hình bình hành có diện tích dương, rồi in ra tất cả các điểm đó.

Dữ liệu vào

Gồm ba dòng, mỗi dòng chứa hai số nguyên xiyi là tọa độ của một điểm.

Dữ liệu ra

Dòng đầu in số nguyên k là số cách thêm điểm thứ tư.

k dòng tiếp theo, mỗi dòng in hai số nguyên là tọa độ của một điểm khả dĩ. Các điểm có thể được in theo thứ tự bất kỳ.

Ràng buộc

  • 1000xi,yi1000
  • Ba điểm đã cho đôi một phân biệt và không thẳng hàng.

Ví dụ

Input Output Giải thích
0 0
1 0
0 1
3
1 -1
-1 1
1 1
Ba điểm tạo thành một tam giác vuông. Mỗi cạnh của tam giác có thể đóng vai trò đường chéo của hình bình hành, cho ba đáp án. Ví dụ điểm (1,1) ứng với việc đoạn nối (1,0)(0,1) là đường chéo.
-6 2
-10 -7
9 -6
3
-25 1
13 3
5 -15
Luôn có đúng 3 đáp án khi ba điểm không thẳng hàng. Thứ tự in các điểm không quan trọng.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0