Spinach Gardens
L đang sở hữu cho mình một khu vườn gồm n
luống rau, các luống rau được đánh số từ 1
đến n
. Giữa một số luống rau có 1
con đường. Các luống rau có thể đi lại được với nhau được gọi là 1
khu vực. Vì là một người đam mê rau dền nên L đã quyết định trồng 2
loại rau dền đẹp nhất lên các luống rau(2
loại rau dền được đánh dấu màu xám và màu hồng). Bên cạnh đó, L muốn ở trong mỗi khu vực khi đi từ luống rau này sang luống rau khác ở cạnh đó thì sẽ được ngắm loại rau dền khác nên đã quyến định trồng sao cho 2
luống ở đầu bất kì con đường nào cũng được trồng khác nhau. Hãy giúp L đếm xem có bao nhiêu khu vực có thể trồng như vậy.
Ví dụ:
- Với
n = 5
,e = [[1,2],[2,3], [3,2], [4,5]]
thìspinachGardens(n, e) = 2
.
Giải thích: có2
khu vực thỏa mãn, như hình vẽ.
Đầu vào/Đầu ra:
-
[Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
- [Đầu vào]Integer n
0<=n<=10^5
. - [Đầu vào]Matrix of integers e
e chứa các con đường giữa những luống rau.
Lưu ý: các con đường có thể trùng nhau.0<=|e|<= 10^6
.|e[i]| = 2
.1<=e[i][j]<=n
. - [Đầu ra] Integer
Số khu vực thỏa mãn yêu cầu đề bài.
Post Comment