Trò chơi xếp thẻ
Đề bài
Mô tả
Minh là một học sinh rất yêu thích lập trình, em đã tạo ra một trò chơi nhằm giúp người chơi phát triển tư duy toán học.
Trò chơi được mô tả như sau: cho trước tấm thẻ hình chữ nhật được đánh số thứ tự từ đến , tấm thẻ thứ ghi một số nguyên dương .
Mỗi lượt chơi, người chơi cần chọn số lượng tấm thẻ nhiều nhất có thể và tuân thủ tất cả các quy tắc của trò chơi như sau:
- Chọn ra một số tấm thẻ xếp thành một hàng ngang, sao cho số thứ tự của các tấm thẻ tăng dần từ trái qua phải (giá trị ghi trên thẻ không cần tăng dần).
- Hai tấm thẻ () xếp cạnh nhau trong hàng cần thỏa mãn các điều kiện:
- ;
- ;
- là bình phương của một số tự nhiên.
Hàng chỉ gồm một tấm thẻ luôn hợp lệ.
Yêu cầu: Cho biết số lượng tấm thẻ nhiều nhất mà người chơi có thể chọn được trong mỗi lượt chơi.
Dữ liệu vào
- Dòng thứ nhất chứa duy nhất số nguyên dương ().
- Dòng thứ trong dòng tiếp theo chứa số nguyên dương ().
Dữ liệu ra
Ghi ra một số nguyên dương duy nhất là số lượng tấm thẻ nhiều nhất có thể chọn.
Ràng buộc
- .
- .
Subtasks
- Subtask 1 ( số điểm): .
- Subtask 2 ( số điểm): .
- Subtask 3 ( số điểm): .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 2 6 2 31 22 11 26 |
5 | Chọn các thẻ : , , , , và khoảng cách giữa số thứ tự của hai thẻ cạnh nhau đều không quá . |
| 3 5 5 7 |
1 | Ví dụ thêm. Thẻ và thẻ có hiệu bằng nên không được xếp cạnh nhau; các hiệu không phải số chính phương. Chỉ chọn được một thẻ. |
| 11 1 3 3 3 3 3 3 3 3 3 5 |
2 | Ví dụ thêm. Chọn thẻ và thẻ : và . |
Bình luận