Dãy số Cho ba dãy số nguyên dương và Hãy tìm một dãy con dài nhất gồm các phần tử liên tiếp của dãy thỏa mãn hai điều kiện: Mọi phần tử của dãy đều xuất hiện trong dãy con được
Trang 1Trang 1
Đề thi thử HSG Quốc gia
Môn Tin học
Ngày thi 15/12/2012 Thời gian 180 phút
Tổng quan về đề thi
Bài Tên file bài làm Tên file dữ liệu Tên file kết quả Giới hạn thời gian mỗi test Điểm
1 SEARCH.* SEARCH.INP SEARCH.OUT 1 giây 6
2 CALC.* CALC.INP CALC.OUT 1 giây 7
3 NUCLEAR.* NUCLEAR.INP NUCLEAR.OUT 1 giây 7 Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình sử dụng tương ứng là Pascal hoặc C++
Đề thi có 2 trang
Hãy lập chương trình giải các bài toán sau đây:
Bài 1 Dãy số
Cho ba dãy số nguyên dương ( ) ( ) và ( )
Hãy tìm một dãy con dài nhất gồm các phần tử liên tiếp của dãy thỏa mãn hai điều kiện:
Mọi phần tử của dãy đều xuất hiện trong dãy con được chọn
Không phần tử nào của dãy xuất hiện trong dãy con được chọn
Dữ liệu: Vào từ file văn bản SEARCH.INP
Dòng 1 chứa ba số nguyên dương
Dòng 2 chứa số nguyên dương
Dòng 3 chứa số nguyên dương
Dòng 4 chứa số nguyên dương
Các số trong file dữ liệu đều là số nguyên dương không lớn hơn , các số trên cùng một dòng được ghi cách nhau bởi dấu cách Dữ liệu vào đảm bảo tìm được dãy con khác rỗng gồm các phần tử liên tiếp của thỏa mãn yêu cầu đề bài
Kết quả: Ghi ra file văn bản SEARCH.OUT một số nguyên duy nhất là độ dài dãy con gồm các phần tử liên tiếp theo
phương án tìm được
Ví dụ
3 2 11
1 2 3
5 9
1 2 9 2 2 1 4 5 3 1 2
3
Ít nhất 50% số điểm ứng với các test có
Bài 2 Tính sai
Khi còn bé, các bạn học sinh học được cách trừ phân số bằng cách quy đồng mẫu số, rồi mới thực hiện phép trừ
Nhưng một lần, An tính thử hiệu hai phân số bằng cách lấy hiệu hai tử số và hiệu hai mẫu số và thấy thật ngạc nhiên là kết quả vẫn đúng
An thấy tính chất này thật kỳ diệu và An muốn biết, với phân số cho trước, có bao nhiêu cặp giá trị và sao cho
Trang 2
Trang 2
Dữ liệu: Vào từ file văn bản CALC.INP gồm một dòng chứa hai số nguyên dương và cách nhau ít nhất một dấu cách
( )
Kết quả: Ghi ra file văn bản CALC.OUT một số nguyên duy nhất là số lượng cặp ( ) tính được
Ví dụ
CALC.INP CALC.OUT
Giải thích: Có 5 cặp ( ) thỏa mãn ứng với các phân số
Ít nhất 50% số điểm ứng với các test có
Bài 3 Hai nhà máy điện nguyên tử
Hai nhà máy điện nguyên tử sẽ được xây dựng tại Byteland trong tương lai gần Nhà máy điện thứ nhất có bán kính nguy hiểm là và nhà máy điện thứ hai có bán kính nguy hiểm là Để tránh bị nhiễm phóng xạ, tất cả các hộ gia đình cách nhà máy thứ nhất km hoặc cách nhà máy thứ hai km sẽ phải chuyển chỗ ở
Hai nhà máy sẽ được xây dựng cũng như các hộ gia đình đều nằm trên mặt phẳng với hệ tọa độ Descartes vuông góc , trong đó khoảng cách giữa hai điểm ( ) và ( ) được tính theo công thức:
√( ) ( )
Có đề án xây dựng, mỗi đề án đều phải cho biết bán kính nguy hiểm của mỗi nhà máy là một cặp giá trị ( ) Nhiệm vụ của bạn là xác định số lượng gia đình phải chuyển chỗ ở ứng với mỗi đề án nếu đề án đó được thực thi
Dữ liệu: Vào từ file văn bản NUCLEAR.INP
Dòng 1 chứa số nguyên dương là số hộ gia đình
dòng tiếp, dòng chứa hai số nguyên là tọa độ ( ) của một hộ gia đình
Dòng chứa 5 số nguyên là tọa độ của nhà máy thứ nhất ( ), tọa độ của nhà máy thứ hai ( ) và số đề án
dòng tiếp theo, dòng thứ chứa hai số nguyên lần lượt là bán kính nguy hiểm của nhà máy thứ nhất và bán kính nguy hiểm của nhà máy thứ hai trong đề án thứ
Tất cả các số trong file dữ liệu đều là số nguyên không âm và không lớn hơn Các số trên một dòng được ghi cách nhau ít nhất một dấu cách
Kết quả: Ghi ra file văn bản NUCLEAR.OUT dòng, dòng thứ ghi một số nguyên duy nhất là số hộ gia đình phải
chuyển chỗ ở nếu đề án thứ được thực thi
NUCLEAR.INP NUCLEAR.OUT
11
95 75
27 6
93 5
124 13
34 49
65 61
81 49
77 33
110 50
91 22
110 25
57 42 97 36 2
31 25
25 25
7
7
Hình minh họa với và
Ít nhất 30% số điểm ứng với các test chỉ chứa các số
Ít nhất 60% số điểm ứng với các test chỉ chứa các số