Bỏ qua để đến nội dung

HSG lớp 9 Quảng Nam 2019-2020

SỞ GIÁO DỤC VÀ ĐÀO TẠO QUẢNG NAM ĐỀ CHÍNH THỨC
(Đề thi gồm 04 trang)

KỲ THI HỌC SINH GIỎI LỚP 9 CẤP TỈNH Năm học 2019 - 2020
Môn thi: Tin học - Ngày thi: 10/6/2020
Thời gian: 150 phút (không kể thời gian giao đề)


Tên bài Tên file chương trình Dữ liệu vào Dữ liệu ra
Bài 1: Trực nhật TN.* TN.INP TN.OUT
Bài 2: Diện tích hình chữ nhật HCN.* HCN.INP HCN.OUT
Bài 3: Xin chào XINCHAO.* XINCHAO.INP XINCHAO.OUT
Bài 4: Mua quà lưu niệm MUAQUA.* MUAQUA.INP MUAQUA.OUT

Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng tương ứng là Free Pascal hoặc C++.

An và Bình là đôi bạn thân học chung lớp. Trong lớp học thì tất cả các bạn đều phải trực nhật và cứ sau một số x ngày nhất định thì bạn đó mới phải trực nhật lại. Biết rằng, ban đầu An và Bình đều trực nhật ngày đầu tiên, và 2 bạn muốn biết sau bao nhiêu ngày thì 2 bạn lại trực nhật chung với nhau và khi đó mỗi bạn đã trực nhật bao nhiêu lần.

Yêu cầu: Em hãy lập trình để trả lời câu hỏi của An và Bình nhé.

Dữ liệu vào: đọc từ file TN.INP gồm 1 dòng chứa 2 số nguyên x₁, x₂ (2 ≤ x₁, x₂ ≤ 10⁹) lần lượt là số ngày mà sau đó An và Bình mới phải trực nhật lại.

Dữ liệu ra: ghi ra file TN.OUT gồm:

  • Dòng đầu tiên ghi ra số ngày An và Bình cùng nhau trực nhật lại;
  • Dòng thứ 2 chứa 2 số lần lượt là số lần một bạn đã trực nhật cho tới lúc 2 bạn cùng trực nhật.

Ví dụ:

TN.INP TN.OUT
6 4 12
2 3

Bài 2. Diện tích hình chữ nhật (5 điểm)

Phần tiêu đề “Bài 2. Diện tích hình chữ nhật (5 điểm)”

Là một học sinh thông minh, nên An luôn tìm được những cách giải hay cho những bài toán lạ. Và bạn ấy vừa giải quyết xong bài toán tìm diện tích chung của 2 hình chữ nhật, tuy nhiên, An lại gặp khó khăn với việc sử dụng ngôn ngữ lập trình để giải quyết bài toán này. Cụ thể bài toán như sau: Cho 2 hình chữ nhật trên mặt phẳng 2D với tọa độ đỉnh trái dưới và đỉnh phải trên, tìm diện tích phần chung của 2 hình chữ nhật này?

Yêu cầu: Em hãy lập trình để giúp bạn An giải quyết bài toán này nhé.

Dữ liệu vào: đọc từ file HCN.INP gồm:

  • Dòng 1 ghi 4 số nguyên x₁, y₁, x₂, y₂ tương ứng là tọa độ đỉnh trái dưới và đỉnh phải trên của hình chữ nhật thứ nhất;
  • Dòng 2 ghi 4 số nguyên u₁, v₁, u₂, v₂ tương ứng là tọa độ đỉnh trái dưới và đỉnh phải trên của hình chữ nhật thứ hai;

Trong đó: x₁ < x₂, y₁ < y₂, u₁ < u₂, v₁ < v₂ và (−10⁹ < x₁, y₁, x₂, y₂, u₁, v₁, u₂, v₂ < 10⁹).

Dữ liệu ra: ghi ra file HCN.OUT số nguyên duy nhất là diện tích phần chung của 2 hình chữ nhật.

Ví dụ:

HCN.INP HCN.OUT
1 1 3 3
2 0 4 4
2

An là người thích chat với bạn bè trên Internet. Cậu ấy đã lập ra một phòng chat với điều kiện rằng trước khi vào phòng chat, mọi người phải chào hỏi nhau trước.

Một câu chào được định nghĩa rằng, câu chào đó phải là một xâu kí tự, chỉ gồm các chữ cái, không chứa kí tự trắng, sao cho khi xóa đi một số chữ cái, nó sẽ trở thành một xâu từ khóa Key cho trước, tất nhiên là sẽ không được phép tráo đổi vị trí các chữ cái, mà chỉ được xóa bớt một số chữ cái.

Ví dụ: Với từ khóa key là “xinchao”; khi Bình muốn vào phòng chat, Bình gõ “choxiancaihao” thì hệ thống sẽ xem xét xâu này và sẽ tự động loại bỏ các chữ cái để trở thành từ “xinchao”. Như vậy Bình được vào phòng chat.

Nhưng khi Bình gõ “choxian”, hệ thống không thể làm cách nào xóa bớt chữ cái để trở thành từ “xinchao” được. Như vậy, Bình không được vào phòng chat.

Yêu cầu: Cho từ khóa Key và N câu chào, em hãy xác định xem câu chào nào được chấp nhận?

Dữ liệu vào: Đọc từ file XINCHAO.INP gồm:

  • Dòng thứ nhất chứa số nguyên dương N (N ≤ 100);
  • Dòng thứ hai chứa từ khóa Key (có độ dài ≤ 10⁴);
  • N dòng tiếp theo, mỗi dòng chứa xâu chữ cái mà Bình định gõ (có độ dài ≤ 10⁶).

Dữ liệu ra: Ghi ra file XINCHAO.OUT gồm N dòng, mỗi dòng tương ứng với câu chào, câu chào được đồng ý thì xuất “YES”, nếu không đồng ý thì xuất “NO” (viết hoa và không chứa dấu ngoặc kép).

Ví dụ:

XINCHAO.INP XINCHAO.OUT
4
hello
ahhellllloou
hlelo
helhcludoo
HelhcLudoo
YES
NO
YES
NO

Ràng buộc:

  • Có 60% số test ứng với 60% số điểm có xâu chữ cái ≤ 10⁴;
  • Có 40% số test còn lại ứng với 40% số điểm có xâu chữ cái trong khoảng (10⁴, 10⁶].

An là một học sinh tham dự cuộc thi Học sinh giỏi lớp 9. Sau khi thi xong, An cùng các bạn được nhà trường đưa đi tham quan nhiều danh lam thắng cảnh và cửa hàng lưu niệm tại thành phố Tam Kỳ. An muốn mua quà lưu niệm tặng các bạn thân ở nhà.

Khi đến một cửa hàng lưu niệm ở trung tâm thành phố, An được chủ cửa hàng giới thiệu giá của n (3 ≤ n ≤ 10⁵) món quà, món quà thứ i (1 ≤ i ≤ n) có giá tiền là aᵢ (1 ≤ aᵢ ≤ 10⁴). An muốn chọn mua m (1 ≤ m ≤ n) món quà sao cho chênh lệch giá tiền giữa món quà có giá trị lớn nhất và nhỏ nhất là ít nhất có thể.

Yêu cầu: Em hãy lập trình giúp An mua các món quà tặng thỏa mãn yêu cầu.

Dữ liệu vào: Đọc từ file MUAQUA.INP, gồm 02 dòng:

  • Dòng 1: ghi hai số nguyên m và n, cách nhau bởi dấu cách;
  • Dòng 2: ghi n số nguyên a₁, a₂, …, aₙ và đặt cách nhau bởi dấu cách.

Dữ liệu ra: Ghi ra file MUAQUA.OUT, gồm 01 dòng ghi duy nhất số k là độ chênh lệch giá trị nhỏ nhất cần tìm.

Ví dụ:

MUAQUA.INP MUAQUA.OUT Giải thích
4 6
10 12 10 5 7 22
5 An có thể mua các món quà có giá trị: 10, 12, 10, 7.

Ràng buộc:

  • Có 50% số test ứng với 50% số điểm có 0 < N, M ≤ 10⁵; aᵢ ≤ 10³;
  • Có 30% số test ứng với 30% số điểm có 0 < N, M ≤ 10⁵; 10³ < aᵢ ≤ 10⁴.

  • Thí sinh không được sử dụng tài liệu.
  • Cán bộ coi thi không giải thích gì thêm.