trang chủ / đề bài / childzoo

Vườn Thú Của Bé

Đề bài

Mô tả

Một vườn thú có n khu, đánh số từ 1 đến n. Khu thứ i chứa ai con thú. Có m con đường, mỗi con đường nối hai khu khác nhau. Vườn thú liên thông: từ một khu bất kỳ luôn đi được tới mọi khu khác qua các con đường.

Với hai khu p và q (p≠q), xét mọi đường đi đơn từ p đến q. Với mỗi đường đi, ghi lại số nhỏ nhất trong số lượng thú của các khu nằm trên đường đi đó. Gọi f(p,q) là giá trị lớn nhất trong các số đã ghi (tức là giá trị lớn nhất có thể của "khu ít thú nhất trên đường đi", lấy trên tất cả các đường đi từ p tới q).

Hãy tính giá trị trung bình của f(p,q) trên tất cả các cặp có thứ tự (p,q) với p≠q. Có tất cả n(n−1) cặp như vậy.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và m.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên xi và yi, mô tả con đường nối khu xi và khu yi.

Các con đường là hai chiều, mỗi cặp khu được nối bởi tối đa một con đường.

Dữ liệu ra

Ghi ra một số thực: giá trị trung bình cần tìm. Đáp án được chấp nhận nếu sai số tương đối hoặc tuyệt đối không vượt quá 10−4.

Ràng buộc

  • 2≤n≤105
  • 0≤m≤105
  • 0≤ai≤105
  • 1≤xi,yi≤n, xi≠yi

Ví dụ

Input Output Giải thích
4 3
10 20 30 40
1 3
2 3
4 3
16.6666666667 Chẳng hạn f(1,3)=10, f(2,3)=20, f(4,3)=30, f(2,4)=20. Tính trên cả 12 cặp có thứ tự, trung bình là 16.6667.
3 3
10 20 30
1 2
2 3
3 1
13.3333333333 Đồ thị là một tam giác. f(1,2)=10, f(2,3)=20, f(1,3)=10 (và các cặp đối xứng).
7 8
40 20 10 30 20 50 40
1 2
2 3
3 4
4 5
5 6
6 7
1 4
5 7
18.5714285714 Trung bình f(p,q) trên toàn bộ 42 cặp có thứ tự.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0