
isThereAnybodyCome
Sinh nhật Bob đang đến gần, anh dự định sẽ tổ chức một bữa tiệc ấm cúng và mời các bạn của mình. Tuy nhiên, bạn bè của Bob lại đang có xích mích nên chia thành các nhóm nhỏ chơi với nhau. Vì vậy khi Bob mời bạn bè đến bữa tiệc, có 2 trường hợp xảy ra:
- Bạn này sẽ đến bữa tiệc nếu bạn kia cũng đến dự và ngược lại.
- Bạn này sẽ đến bữa tiệc nếu bạn kia không đến dự.
Bob rất lo lắng nếu như không ai đến dự. Vì vậy anh ấy cần bạn viết hộ một chương trình để xem nếu có thể có ít nhất một bạn đến dự sinh nhật hay không.
Chú ý rằng nếu có một bạn nào đấy mà quyết định của bạn đó không phụ thuộc vào người khác, bạn đó sẽ đến.
Các mối quan hệ được biểu diễn thành một array relationships
Trong đó, relationships[i]
bao gồm 3
số lần lượt biểu thị bạn thứ nhất, bạn thứ hai và mối quan hệ relationship
giữa hai bạn:
relationship = 1
nghĩa là bạn thứ nhất sẽ đến nếu bạn thứ hai cũng đến và ngược lại bạn thứ hai đến thì bạn thứ nhất sẽ đến.relationship = -1
nghĩa là thứ nhất sẽ đến nếu bạn thứ hai không đến.
Số lượng bạn của Bob là số numberOfFriends
Ví dụ:
- Với
relationships=[[1,2,1],[2,3,1],[3,1,1]]
,numberOfFriends = 3
, thì đầu ra làisThereAnybodyCome
(relationships,numberOfFriends) =
true
Vì:1
sẽ đến nếu2
đến2
sẽ đến nếu3
đến3
sẽ đến nếu1
đến
Điều này đồng nghĩa với tất cả bạn bè của Bob sẽ đến. - Với
relationships: [[1,2,1],[2,3,1],[3,1,-1]]
,numberOfFriends = 3
, thì đầu ra sẽ làisThereAnybodyCome(relationships,numberOfFriends) = false.
Vì
sẽ đến nếu
12
đến.
sẽ đến nếu
23
đến.
sẽ đến nếu
31
không đến.
Ở đây nếu1
đến thì2
phải đến, nhưng2
sẽ đến nếu3
đến, mà3
sẽ không đến vì1
đến, vậy nên không có ai đến sinh nhật Bob cả.
Đầu vào/Đầu ra:
- [Giới hạn thời gian chạy] 0.5s (C++), 3s (Java,C#), 4s(Python,JavaScript)
- [Đầu vào] matrix.integer relationships
1 ≤ relationships.length ≤ 1000
relationships[i].length = 31 ≤ relationships[0], relationships[1] ≤ numberOfFriends
- [Đầu vào] integer numberOfFriends
1 ≤ numberOfFriends ≤ 100
- [Đầu ra] boolean
Trả vềtrue
nếu ít nhất một bạn đến tiệc sinh nhật của Bob, ngược lại trả vềfalse
Post Comment