Phân loại các F để cách ly Covid-19


Submit solution

Points: 4
Time limit: 1.0s
Python 3 2.0s
Memory limit: 98M
Python 3 977M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Dịch Covid-19 ngày càng lan rộng đến ngày \(13/6/2020\) đã có \(7.27\) triệu người nhiễm bệnh trên toàn thế giới. Quốc đảo Zanta nằm khá xa xôi đất liền đã xuất hiện những ca nhiễm đầu tiên do các ngư dân đi đánh cá trao đổi xăng dầu với những người nhiễm. Lập tức quốc vương đảo Zanta tổ chức điều tra dịch tễ:

  1. Những người nhiễm bệnh là \(F_0\).
  2. Những người nào tiếp xúc với \(F_0\) là \(F_1\)

Cứ như thế xác định các thế hệ \(F\) tiếp theo người nào tiếp xúc với những người ở các thế hệ \(F\) trong vòng \(14\) ngày cũng là \(F\) và được xác định lấy chỉ số của \(F\) nhỏ nhất cộng thêm \(1\). Ví dụ một anh \(X\) tiếp xúc với những người lần lượt là \(F_3, F_{11}, F_{30}\) thì anh ta là \(F_4\).

Bạn được biết dân số trên đảo là \(n\) được đánh số từ \(1\) đến \(n\) và danh sách những cặp tiếp xúc nhau trong vòng \(14\) ngày là \(m\), bạn cũng được biết những người đã mắc Covid-19 tức là danh sách \(F_0\).

Bạn sẽ phải thống kê số lượng từng thế hệ \(F\) của các cư dân trên đảo để Quốc vương tổ chức cách ly cho phù hộp, bạn giúp Quốc vương Zanta nhé.

Input

Dòng đầu chứa hai số \(n\) và \(m\) tương ứng với số dân và số cặp tiếp xúc nhau \((1 \le n,m \le 10^5)\).

Tiếp theo \(m\) dòng mỗi dòng chứa hai số \(u,v (1 \le u,v \le n)\) là cặp đã tiếp xúc nhau trong vòng \(14\) ngày.

Dòng tiếp theo chứa số nguyên \(k\) là số người đã nhiễm virus của dịch bệnh Covid-19.

Dòng cuối cùng chứa \(k\) số nguyên là danh sách những người đã nhiễm virus của dịch bệnh Covid-19.

Output

Xuất ra lần lượt từng dòng đến hết mỗi dòng một thế hệ theo định dạng dòng đầu là thế hệ \(F\) tiếp theo là số người ở thế hệ đó (xem ví dụ).

Ví dụ

Input:

11 7
3 5
4 5
1 7
7 9
2 11
10 4
8 1
3
9 10 5

Output:

F0: 3
F1: 3
F2: 1
F3: 1

Giải thích

\(F_0\) gồm ba người \(\{5,9,10\}\).

\(F_1\) gồm ba người \(\{3,4,7\}\).

\(F_2\) gồm một người \(\{1\}\).

\(F_3\) gồm một người \(\{8\}\).

Tất nhiên \(3\) người không có nguy cơ lây nhiễm là \(\{2,6,11\}\) không cần thống kê theo dõi cách ly.

tichpx

Comments

There are no comments at the moment.