ĐỀ THI THỬ HỌC SINH GIỎI TIN HỌC NĂM HỌC 2024 – 2025, ĐỀ SỐ 7

Tin tức 0 lượt xem
Tên bàiTên fileTên file inputTên file outputĐiểm
Kỳ thiCONTEST.*CONTEST.OUTCONTEST.OUT100
Chia gạoRICE.*RICE.INPRICE.OUT100
Biến đổi xâuSTRING.*STRING.INPSTRING.OUT100
Xóa sốREMOVE.*REMOVE.INPREMOVE.OUT100
Chia tayCHIATAY.*CHIATAY.INPCHIATAY.OUT100

Lưu ý: Dấu * thay thế cho PY hoặc CPP tương ứng với ngôn ngữ lập trình Python hoặc C++ được sử dụng để làm bài.

Thí sinh chọn 4/5 bài để làm tùy vào năng lực của mình.

BÀI 1. Kỳ thi

Một kỳ thi Ban tổ chức sẽ ra đề gồm  bài toán và độ khó của bài toán thứ  dự định là không vượt quá . Có  tác giả đề xuất  bài toán cho Ban tổ chức, bài toán thứ  có độ khó là . Ban đầu, cả hai dãy  và  đều được sắp xếp theo thứ tự không giảm.

Một số bài toán đề xuất có khó hơn dự định ban đầu, vì vậy người ra đề phải đề xuất thêm các bài toán khác. Khi một bài toán mới có độ khó  được đề xuất, bài toán khó nhất sẽ bị xóa khỏi kỳ thi, và các bài toán sẽ được sắp xếp sao cho độ khó theo thứ tự không giảm.

Nói cách khác, trong mỗi thao tác, bạn chọn một số nguyên , chèn nó vào mảng , sắp xếp mảng  theo thứ tự không giảm và xóa phần tử cuối cùng của nó.

Hãy tìm số lượng bài toán mới tối thiểu cần đề xuất để đảm bảo rằng  cho tất cả .

INPUT: CONTEST.INP

  • Dòng đầu tiên chứa 2 số nguyên ,
  • Dòng thứ 2 chứa  số nguyên ;
  • Dòng thứ 3 chứa  số nguyên .

OUTPUT: CONTEST.OUT: một số nguyên duy nhất là số lượng bài toán cần đề xuất.

Ví dụ:

INPUTOUTPUTGiải thích
6 10 14 20 20 22 27 8 12 15 18 22 302– Người ra đề sẽ thay bằng bài có độ khó  và dãy  = [8, 10, 14, 20, 20, 22] – Người ra đề sẽ thay bằng bài có độ khó  và dãy  = [8, 10, 14, 18, 20, 20]
6 4 5 6 7 8 9 1 2 3 4 5 63 

Giới hạn:

  • Subtask 1: 50% số điểm
  • Subtask 2: 50% số điểm còn lại không có ràng buộc gì

BÀI 2. Chia gạo

Sống tại nhà Phú Ông từ nhỏ, Bờm và Cuội là đôi bạn rất thân. Một hôm, do làm việc siêng năng, chăm chỉ nên hai bạn đã được Phú Ông thưởng cho  túi gạo. Có gạo rồi, nhưng vấn đề nảy sinh hết sức phức tạp là hai bạn không làm sao chia nhau các túi gạo được. Bởi vì ai cũng muốn giành được nhiều túi gạo về mình. Băn khoăn suốt mấy ngày đêm, cuối cùng hai bạn đành dắt nhau đến nhờ Phú Ông chia giúp.

Nghĩ mãi nghĩ mãi rồi Phú Ông cũng tìm ra được một cách chia mà có lẽ theo ông hai bạn sẽ vui vẻ sau khi nhận được số túi gạo về mình. Dắt hai bạn ra sân đình, Phú Ông yêu cầu Bờm vẽ  đường thẳng khác nhau song song với trục Oy có hoành độ , Cuội vẽ  đường thẳng khác nhau song song với trục Ox có tung độ , rồi đặt vào các giao điểm của các đường thẳng, mỗi giao điểm 1 túi gao. Sau đó Phú Ông vẽ một đường tròn với toạ độ tâm  bán kính , cho Bờm lấy số túi gạo ở phía ngoài đường tròn, Cuội lấy số túi gạo còn lại.

Yêu cầu: Tính số túi gạo chênh lệch của hai bạn.

INPUT: RICE.INP

  • Dòng đầu tiên theo thứ tự là 5 số .
  • Dòng thứ hai ghi  số mô tả hoành độ các đường thẳng Bờm vẽ.
  • Dòng thứ ba ghi  số mô tả tung độ các đường thẳng Cuội vẽ.

OUTPUT: RICE.OUT

  • Một số nguyên duy nhất là số túi gạo chênh lệch của Bờm và Cuội.

Giới hạn:

Ví dụ:

INPUTOUTPUT
3 4 3 3 3 1 5 6 1 7 6 32

Ràng buộc:

  • Subtask1: 60% test
  • Subtask2: 40% test còn lại không có ràng buộc gì.

Bài 3. Biến đổi xâu

Cho xâu kí tự , bạn được thực hiện phép biến đổi sau: Chọn hai chỉ số  và  sao cho , thay kí tự ở vị trí thứ  thành kí tự ở vị trí thứ .

Ví dụ, giả sử xâu  = “hanh”; bằng cách chọn  và , ta có thể biến đổi xâu thành “haah”. Tuy nhiên, bạn không thể biến đổi từ xâu hanh thành “hnnh”.

Cho hai xâu kí tự  và  có cùng độ dài, bạn được thực hiện phép biến đổi trên không giới hạn số lần. Bạn cần trả lời có thể biến đổi từ  thành  hay không?

INPUT: STRING.INP:

  • Dòng đầu tiên ghi số nguyên  là số bộ test
  •  nhóm dòng tiếp theo, mỗi nhóm chứa hai xâu  và  có độ dài không quá 5*104 ký tự các chữ cái in thường.

OUTPUT: STRING.OUT:

  • Gồm t dòng, mỗi dòng thông báo “yes” nếu có thể biến đổi từ  thành  hoặc thông báo “no” nếu không thể biến đổi xâu  thành .

Ví dụ:

INPUTOUTPUT
2 hanh hnnh hanh haahno yes

Ràng buộc:

  • Subtask1: 60% test
  • Subtask2: 40% test còn lại không có ràng buộc gì.

Bài 4. Xóa số

Trong quyển vở ghi chép Toán của Bình có hai dãy số có cùng độ dài . Anh ta định nghĩa giá trị của hai dãy là tổng các tích ghép cặp dãy thứ nhất với dãy thứ hai đảo ngược. Ví dụ với hai dãy sau:

3-4-3-220
-305-132

Thì giá trị của hai dãy này là:

3 × 2 + (−4) × 3 + (−3) × (−1) + (−2) × 5 + 2.0 + 0 × (−3) = −13

Bình rất thích cặp dãy có giá trị lớn. Anh ta quyết định xóa  phần tử đầu tiên (có thể là 0) và xóa  phần tử cuối cùng (có thể là 0) sao cho hai dãy còn lại có giá trị lớn nhất.

Yêu cầu: Viết chương trình xác định  và  cũng như giá trị lớn nhất tìm được.

INPUT: REMOVE.INP:

  • Dòng đầu tiên ghi số nguyên  là độ dài của hai dãy ban đầu
  • Hai dòng tiếp theo, mỗi dòng có  số nguyên mô tả hai dãy ban đầu. Tất cả các số trong hai dãy có giá trị nằm trong khoảng từ -1000 đến 1000

OUTPUT: REMOVE.OUT:

  • Hai số  và  được ghi trên dòng đầu
  • Dòng thứ hai ghi giá trị lớn nhất tìm được
  • Nếu có nhiều cách chọn  thì chỉ cần đưa ra một trong số chúng.

Ví dụ:

INPUTOUTPUT
6 3 -4 -3 -2 2 0 -3 0 5 -1 3 20 3 24

Ràng buộc:

  • Subtask1: 60% test
  • Subtask2: 40% test còn lại không có ràng buộc gì.

Bài 5. Chia tay

Đất nước Alpha có  thành phố và  đoạn đường nối các thành phố, tất cả các thành phố luôn đảm bảo sự đi lại với nhau.

Alice và Jonh là một cặp vợ chồng, họ quyết định chia tay nhau (vì lý do gì thì chỉ có máy tính mới biết). Họ ghét nhau đến nỗi mỗi người sẽ tìm một thành phố để ở mà khoảng cách giữa hai thành phố của họ là xa nhất. Khoảng cách giữa hai đỉnh  và  là số cạnh đi qua khi di chuyển từ  sang .

Yêu cầu: Hãy giúp cặp đôi không hạnh phúc này tìm hai thành phố thỏa mãn yêu cầu trên.

INPUT: CHIATAY

  • Dòng đầu chứa số nguyên
  •  dòng tiếp theo chứa hai số  và  thể hiện có đường đi trực tiếp giữa thành phố  và .

OUTPUT: CHIATAY

  • Một dòng duy nhất ghi khoảng cách xa nhất giữa hai thành phố mà họ sẽ ở.

Ví dụ:

INPUTOUTPUTGiải thích
7 1 6 1 2 1 3 1 5 3 7 2 44Hai thành phố họ lựa chọn để ở là 4 và 7
  •  

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *