Đường đi ngắn nhất

View as PDF

Submit solution

Points: 100.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Một kho hàng chứa n công-tơ-nơ, có bản đồ được mô tả trong góc phần tư thứ I của mặt phẳng tọa độ Oxy. Trong kho các công-tơ-nơ được xếp sao cho các hình chữ nhật đáy có các cạnh song song với các trục toạ độ và giữa hai công-tơ-nơ bất kỳ luôn tồn tại lối đi. Các hình chữ nhật đáy của các công-tơ-nơ được mô tả bởi tọa độ đỉnh trái trên và đỉnh phải dưới. Bác bảo vệ muốn di chuyển từ điểm có tọa độ (~x_1~; ~y_1~) đến điểm có tọa độ (~x_2~; ~y_2~), để đỡ mất thời gian bác phải tìm một đường đi nào đó ngắn nhất mà không được trèo qua các công-tơ-nơ đang đặt trong kho.

Yêu cầu: Hãy giúp bác tìm đường đi ngắn nhất từ điểm (~x_1~; ~y_1~) đến điểm (~x_2~; ~y_2~) trong kho.

Dữ liệu vào:

  • Dòng đầu là số n (1 ≤ n ≤ 200);
  • Dòng thứ hai là ~x_1~; ~y_1~;
  • Dòng thứ ba là ~x_2~; ~y_2~;
  • Dòng thứ i trong n dòng tiếp theo ghi bốn số ~lx_i~, ~ly_i~, ~rx_i~, ~ry_i~ (~lx_i~< ~rx_i~, ~ly_i~>~ry_i~) trong đó (~lx_i~ ; ~ly_i~) là tọa độ góc trái trên, (~rx_i~ ; ~ry_i~) là tọa độ góc phải dưới của hình chữ nhật đáy của công-tơ-nơ thứ i. (Các tọa độ có giá trị nguyên không âm, không vượt quá ~10^4~.)

Kết quả ra: Một số duy nhất là độ dài đường đi ngắn nhất từ điểm (~x_1~; ~y_1~) đến điểm (~x_2~; ~y_2~). Kết quả lấy độ chính xác 3 chữ số sau dấu chấm thập phân.

Ví dụ:
INPUT
2
0 0
10 10
1 5 5 2
6 10 8 7
OUTPUT
14.819

Comments

Please read the guidelines before commenting.


There are no comments at the moment.