Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
COEDU017 - Trò chơi 2048 |
2048 là một trò chơi giải đố do tác giả Gabriele Cirulli, một lập trình viên web trẻ, 19 tuổi người Ý, tạo ra vào tháng 3 năm 2014.
Mục tiêu của trò chơi là trượt các khối vuông có mang số trên một lưới vuông 4x4, để kết hợp chúng lại và tạo ra khối vuông có giá trị 2048.
Hình dưới dây là ván 2048 đang chơi dở.
Cách chơi: người chơi sẽ phải trượt các khối ô vuông theo hướng lên, xuống, trái, phải. Mỗi một lần trượt, các khối vuông có giá trị bằng nhau và nằm cạnh nhau sẽ kết hợp lại với nhau và tạo thành một khối vuông có giá trị gấp đôi giá trị hiện tại của khối vuông đó.
Chúng ta sẽ đơn giản hoá trò chơi này như sau:
Cho một dãy gồm N số nguyên, các số có giá trị là luỹ thừa của 2 (2i, 0 <= i <= 11) và được sắp xếp theo thứ tự tăng dần.
Chúng ta sẽ chỉ trượt các khối vuông từ phải qua trái trong mỗi lượt chơi.
Trong mỗi lượt chơi, 2 ô nằm cạnh nhau có giá trị bằng nhau sẽ kết hợp lại với nhau.
Sau K lượt chơi, sẽ không có ô nào kết hợp được với nhau nữa, khi đó trò chơi sẽ kết thúc.
Sau khi trò chơi kết thúc, hãy in ra K lượt chơi và ô số có giá trị lớn nhất.
Ví dụ:
Như vậy, kết quả cần in ra là 4 lượt chơi và số điểm cao nhất là 32.
Cho thông tin về dãy số, hãy in ra số lượt chơi để kết thúc trò chơi và số điểm cao nhất có thể có.
[Input]
Dòng đầu tiên là số lượng test case T (T <= 50). Thông tin về mỗi test case như sau:
Dòng đầu tiên là số phần tử của dãy N (5 <= N <= 1000).
Dòng tiếp theo bao gồm N số nguyên A (1 <= A <= 2048, A = 2i, với i là số nguyên dương).
[Output]
Đưa ra output trên T dòng tương ứng với T test case.
Mỗi test case in ra "#tc", với tc là số thứ tự của test case, đánh số bắt đầu từ 1, tiếp theo là một dấu cách và kết quả tương ứng của test case đó.
Kết quả in ra là số lượt chơi và số điểm tối đa thu được, 2 số phân biệt nhau bởi dấu cách.
Example
Input:
3
7
1 2 2 4 4 4 16
11
2 2 2 2 4 4 4 4 1024 2048 2048
8
512 512 512 512 1024 1024 2048 2048
Output:
#1 4 32
#2 2 4096
#3 4 8192
Được gửi lên bởi: | Phòng đào tạo Coedu |
Ngày: | 2022-12-13 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | C C++ 4.3.2 CPP JAVA |