Giả sử có hai người chơi Amal và Bimal. Họ đang chơi một trò chơi. Luật chơi như sau -
-
Cả hai trình phát đều có cùng một chuỗi s.
-
Cả hai đều phải tạo chuỗi con bằng cách sử dụng các chữ cái của s.
-
Số thập phân phải tạo ra các từ bắt đầu bằng phụ âm.
-
Amal phải tạo ra các từ bắt đầu bằng nguyên âm.
-
Trò chơi sẽ kết thúc khi cả hai người chơi đã thực hiện tất cả các chuỗi con có thể có.
Bây giờ tiêu chí tính điểm giống như:một người chơi được 1 điểm cho mỗi lần xuất hiện của chuỗi con trong chuỗi s. Chúng ta phải tìm ra người chiến thắng trong trò chơi này và điểm số của anh ấy.
Vì vậy, nếu đầu vào là s ="BANANA", thì đầu ra sẽ là Số thập phân, 12 vì
Từ:BANANA | |||
Amal | Số thập phân (CHIẾN THẮNG) | ||
Chuỗi con | Điểm | Chuỗi con | Điểm |
A | 3 | B | 1 |
AN | 2 | N | 2 |
ANA | 2 | BA | 1 |
ANAN | 1 | NA | 2 |
ANANA | 1 | BAN | 1 |
| | NAN | 1 |
| | CHUỐI | 1 |
| | NANA | 1 |
| | BANAN | 1 |
| | CHUỐI | 1 |
Tổng 9 | Tổng số 12 |
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- nguyên âm:=một tập hợp các nguyên âm
- p1:=0
- p2:=0
- đối với mỗi chỉ mục i và ký tự c trong word, hãy thực hiện
- nếu c là một nguyên âm thì
- p2:=p2 + kích thước của từ - i
- nếu không,
- p1:=p1 + kích thước của từ - i
- nếu c là một nguyên âm thì
- nếu p1> p2, thì
- trả về 'Bimal', p1
- ngược lại khi p2> p1, thì
- return 'Amal', p2
- nếu không,
- trả về 'Vẽ'
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau đây để hiểu rõ hơn
def giải (word):nguyên âm =set ('AEIOU') p1 =0 p2 =0 cho i, c trong liệt kê (từ):nếu c trong nguyên âm:p2 + =len (word) - i else:p1 + =len (word) - i if p1> p2:return 'Bimal', p1 elif p2> p1:return 'Amal', p2 else:return 'Draw'word ="BANANA" print (giải (word))Đầu vào
"CHUỐI"Đầu ra
('Bimal', 12)