Loading Now

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

Contact