Bảng A 2022 - Thành phố Hồ Chí Minh
HỘI THI TIN HỌC TRẺ QUẬN BÌNH THẠNH, TP HỒ CHÍ MINH
Năm 2022
Bài 1: GIGA
Phần tiêu đề “Bài 1: GIGA”Mario là một trò chơi điện tử rất phổ biến ở khắp các nước từ các giai đoạn đầu khi máy tính mới được ra đời. Trong trò chơi đó, bạn cần phải nhập vai vào một nhân vật mang tên Mario và đi giải cứu công chúa. Tuy nhiên, ở bài này, Mario đã bận đi giải cứu công chúa, nên cậu đã nhờ Giga - một người bạn của cậu đi thu thập các viên kim cương giúp Mario.
Giga là một nhân vật có khả năng phóng ra tia sét, tuy rằng sức mạnh của anh bị hạn chế, mỗi lần chỉ có thể phóng 1 tia sét. Bạn cần lập trình một trò chơi, nhân vật Giga sẽ di chuyển sang trái và phải liên tục. Mỗi khi đụng cạnh của trò chơi thì sẽ quay ngược hướng lại. Lưu ý rằng hình ảnh nhân vật Giga phải di chuyển chân liên tục để tạo hiệu ứng di chuyển. Sử dụng hình ảnh “Giga Walking”.
Để sử dụng năng lực, người chơi cần nhấn phím thanh dài (Space) để có thể phóng ra tia sét. Tia sét sẽ xuất phát từ Giga và hướng đến con trỏ chuột của người chơi đến khi nào ra khỏi màn hình. Như đã đề cập, mỗi lần Giga chỉ có thể phóng 1 tia sét cho đến khi nó biến mất. Sử dụng hình ảnh “Lighting” cho tia sét.
Nhiệm vụ của cậu là giúp Mario thu thập các viên kim cương đang bay trên bầu trời. Sử dụng hình ảnh “Crystal” để thể hiện viên kim cương. Trong hình ảnh này, có hai costumes, khi trò chơi bắt đầu hoặc kim cương được sinh ra thì sẽ chọn ngẫu nhiên một trong 2 costumes này. Tương tự như Giga, các viên kim cương sẽ bay ngang từ trái sang phải và ngược lại khi chạm cạnh. Khi bắt đầu, hoặc kim cương bị các tia sét bắn trúng thì viên kim cương sẽ biến mất, và viên kim cương khác sẽ xuất hiện ngẫu nhiên ở toạ độ x là 140, còn y sẽ được sinh ngẫu nhiên trong khoảng từ -200 đến 200. Để dễ dàng thiết kế, trò chơi này chỉ yêu cầu trên màn hình có duy nhất 1 viên kim cương.
Người chơi sẽ có một biến để lưu điểm (gọi là “Score”). Biến này phải được thể hiện trên màn hình để người chơi có thể nhìn thấy. Mỗi khi bắn trúng một viên kim cương thì sẽ tăng điểm lên 1.
Sử dụng hình nền “Blue sky”. Các hình ảnh của viên kim cương phải được thực hiện outline 1. Ngoài ra, khi bắn tia sét thì sẽ phải hướng về phía con trỏ chuột.
Bài 2: Răng cưa
Phần tiêu đề “Bài 2: Răng cưa”Quay về với Mario, trong quá trình đi cứu công chúa, cậu sẽ gặp các vật cản như quái vật nấm, rùa, răng cưa,… Ở bài này, bạn cần vẽ một dãy các răng cưa. Mỗi răng cưa là một hình tam giác đều có cạnh A. Hình ảnh nhân vật phải là cây bút chì và vẽ từ đầu bút. Sử dụng độ rộng của bút là 3 và màu đen để vẽ.
Nhập từ bàn phím vào một số nguyên dương K là số lượng răng cưa cần vẽ từ trái sang phải và chiều dài cạnh A.
Ví dụ: như hình dưới là răng cưa với K = 5 và A = 50 (một dãy 5 hình tam giác đều liên tiếp nhau, chỉ vẽ 2 cạnh xiên tạo hình răng cưa, không vẽ cạnh đáy).
Bài 3: Cầu thang
Phần tiêu đề “Bài 3: Cầu thang”Trong trò chơi Mario, nhiệm vụ của Mario là phải cứu được công chúa. Nhưng khi đi đến bậc cầu thang thì cậu chỉ còn K năng lượng. Bên kia cầu thang là công chúa, và cô có P năng lượng. Cầu thang ngăn cách giữa công chúa và Mario có N bậc đi lên và N bậc đi xuống. Mỗi khi Mario di chuyển một bậc cầu thang, cậu tốn 1 năng lượng. Khác với Mario, công chúa với sức khỏe của một người con gái, khi công chúa di chuyển 1 bậc thì tốn 2 năng lượng. Hỏi rằng Mario và công chúa có thể gặp được nhau hay không? Nếu có thì xuất “YES”, ngược lại xuất “NO”.
Đầu vào: Lần lượt ba giá trị K, P, N
Đầu ra: Một chuỗi duy nhất là đáp án của bài toán
Ví dụ:
| Input | Output | Giải thích |
|---|---|---|
322 | YES | Cầu thang có 2 bậc. Với mức năng lượng còn lại, Mario có thể leo được 2 bậc ở bên trái và 1 bậc xuống bên phải. Đồng thời, công chúa có thể leo lên 1 bậc để gặp được Mario. |
433 | NO | Cầu thang có 3 bậc. Mario có thể leo lên 3 bậc bên trái và 1 bậc xuống bên phải. Sau đó, công chúa có thể leo được 1 bậc duy nhất (vì năng lượng chỉ có 3). Vậy nên, Mario và công chúa không gặp được nhau. |