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

Bốn Điểm

Đề bài

Mô tả

Cho bốn điểm nguyên phân biệt p1,p2,p3,p4 trên mặt phẳng tọa độ.

Mỗi bước, bạn chọn một điểm pi=(x,y) và di chuyển nó theo một trong bốn hướng đi một đơn vị: tới (x,y+1), (x,y1), (x+1,y) hoặc (x1,y).

Mục tiêu là di chuyển các điểm sao cho chúng tạo thành một hình vuông có các cạnh song song với hai trục tọa độ (cho phép hình vuông cạnh 0, tức là cả bốn điểm trùng nhau).

Hãy tìm số bước ít nhất cần thực hiện để đạt được điều đó.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t — số lượng test.
  • Mỗi test gồm bốn dòng, mỗi dòng chứa hai số nguyên xy — tọa độ của một điểm.
  • Trong cùng một test, bốn điểm đôi một phân biệt.

Dữ liệu ra

Với mỗi test, in ra một số nguyên — số bước ít nhất để tạo thành hình vuông song song với trục.

Ràng buộc

  • 1t104
  • 0x,y109

Ví dụ

Input Output Giải thích
3
0 2
4 2
2 0
2 4
1 0
2 0
4 0
6 0
1 6
2 2
2 5
4 1
8
7
5
Test 1: di chuyển mỗi điểm 2 bước, tổng 2+2+2+2=8. Test 2: tổng tối ưu 3+1+0+3=7. Test 3: tổng tối ưu 1+1+2+1=5.
1
0 0
5 5
0 5
5 0
0 Bốn điểm đã tạo sẵn một hình vuông cạnh 5 song song với trục, nên không cần di chuyển.

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