- Dòng thứ i trong s dòng tiếp theo gồm 2 số xi, yi là chỉ số dòng và chỉ số cột của quân vua thứ i được đặt thêm lên bàn cờ nếu có nhiều phương án đưa ra một phương án bất kỳ.. Bến xe b[r]
Trang 1ĐỀ 1:
Bài 1: Đèn nhấp nháy: Trong dịp đại lễ 1000 năm thăng long hà nội, An quan sát thấy nhiều đèn nhấp nháy được
trang trí trên các đường phố Vốn là một học sinh yêu thích môn tin học và vật lý An quyết định tự tạo một dây đèn nhấp nháy đặc biệt Dây đèn của An gồm n bóng nối tiếp nhau, đánh số thứ tự từ 1 đến n và được điều khiển theo nguyên tắc: Bắt đầu từ thời điểm 0 tất cả các bóng đèn đều ở trạng thái tắt, bóng thứ i sẽ lóe sáng và các thời điểm ti, 2 ti, 3 ti (i=1,2, ,n) An chờ đợi và muốn biết thời điểm nào mà cả n bóng đều cùng lóe sáng
Ví dụ t1 = 4 thì tại các thời điểm 4, 8 , 12 , 16, 20 bóng đèn 1 lóe sáng, t2=6 thì tại các thời điểm 6, 12, 18, 24, 30 bóng đèn 2 sẽ lóe sáng Như vậy, thời điểm 12 sẽ là thời điểm sớm nhất mà cả 2 bóng đèn đều cùng lóe sáng Yêu cầu: Cho t1, t2, tn, hãy giúp An tính thời điểm sớm nhất mà tất cả n bóng đều lóe sáng
Dữ liệu: Vào từ file văn bản Bai1.INP có dạng:
- Dòng đầu tiên chứa số nguyên dương n (2 <= n <= 30)
- Dòng thứ hai chứa n số nguyên dương t1, t2, tn (ti <= 10^6)
Kết quả: Ghi ra file văn bản Bai1.Out thời điểm sớm nhất mà tất cả n bóng đèn đều lóe sáng
Ví dụ
Bai1.INP:
2
4 6
Bai1.OUT
12
Bài 2:Mật khẩu: Một xâu ký tự được gọi là mật khẩu "an toàn" nếu xâu có độ dài ít nhất = 6 và xâu chứa ít nhất
một chữ cái in hoa ('A' 'Z'), một chữ cái thường, một chữ số
Ví dụ: 'a1B2C3', 'tinHoc6' là hai mật khẩu "an toàn", còn 'a1B2C', 'a1b2c3', 'A1B2C3', 'tinhoc' đều không phải là mật khẩu "an toàn"
Một lần, Bình nhìn thấy một xâu S, chỉ gồm các loại ký tự: chữ cái in hoa, chữ cái thường và chữ số Bình muốn
tự kiểm tra khả năng đoán nhận mật khẩu bằng cách đếm xem có bao nhiêu cặp chỉ số (i,j) thỏa mãn đkiện: 1
<=i<j<=length(s) và xâu con gồm các ký tự liên tiếp từ i đến j của S là mật khẩu "an toàn"
Yêu cầu: Cho xâu S, tính số lượng cặp chỉ số (i,j) thỏa mãn điều kiện nêu trên
Dữ liệu: Vào từ file văn bản Bai2.INP gồm một dòng chứa xâu S có độ dài không quá 100
Kết quả: Ghi ra file văn bản Bai2.OUT một số nguyên là số lượng cặp chỉ số (i,j) tính được
Ví dụ:
Bai2.INP
abc3456789PQ
Bai2.OUT
6
Ví dụ 2:
Bai2.INP
abc123
Bai2.OUT
0
Bài 3: Bàn cờ: Cho một bàn cờ kích thước m x n ô, các dòng được đánh số từ 1 đến m từ trên xuống dưới, các cột
được đánh số từ 1 đến n từ trái qua phải Ô nằm ở vị trí dòng i và cột j của lưới được gọi là ô (i,j) và khi đó, i được gọi là chỉ số còn j được gọi là chỉ số cột của ô này Được phép đặt một quân vua vào một ô của bàn cờ (mỗi ô đặt không quá một quân), khi đó nó có thể khống chế 8 ô lân cận xung quanh (8 ô được đánh số từ 1 đến 8, xem hình
vẽ dưới đây)
1 2 3
8 x 4 (x là quân hậu)
7 6 5
Trên bàn cờ đã đặt trước một số quân vua (không có 2 quân nào khống chế nhau), người ta muốn đặt thêm nhiều nhất các quân vua lên bàn cờ mà vẫn đảm bảo không có 2 quân vua nào khống chế nhau
Yêu cầu: Cho biết các ô đã đặt quân vua, hãy đặt thêm nhiều nhất quân vua lên bàn cờ sao cho trên bàn cờ không
có 2 quân nào khống chế nhau
Dữ liệu: Vào từ file văn bản Bai3.INP có dạng
- Dòng đầu tiên chứa 3 số nguyên m,n,k (0<m , n < 30; 0 <=k<=m mx n) Trong đó m,n là kích thước bàn cờ, k là
số quân vua đã được đặt trên bàn cờ
- Dòng thứ i trong k dòng tiếp theo gồm 2 số ai ,bi là chỉ số dòng và chỉ số cột của ô thứ i đã có quân vua
Kết quả: Ghi ra file văn bản Bai3.OUT có dạng:
- Dòng đầu tiên ghi số nguyên s là số lượng nhiều nhất quân vua được đặt thêm lên bàn cờ
Trang 2- Dòng thứ i trong s dòng tiếp theo gồm 2 số xi, yi là chỉ số dòng và chỉ số cột của quân vua thứ i được đặt thêm lên bàn cờ (nếu có nhiều phương án đưa ra một phương án bất kỳ)
Ví dụ:
Bai3.INP
2 3 0
Bai3.OUT
2
1 1
2 3
Ví dụ 2
Bai3.INP
3 3 1
2 2
Bai3.OUT
0
ĐỀ 2:
Bài 1: Đi xe bus (6 điểm) -Trên một tuyến đường nối 2 thành phố có xe ô tô buýt công cộng phục vụ việc đi lại
của hành khách Bến xe buýt có ở từng km của tuyến đường Mỗi lần đi qua bến, xe đều đỗ lại cho khách lên xuống Từ mỗi bến đều có xe xuất phát, nhưng mỗi xe chỉ chạy không quá N km kể từ bến xuất phát của nó Hành khách khi đi xe sẽ phải trả tiền cho độ dài đoạn đường mà họ ngồi trên xe Cước phí cần trả để đi trên đoạn đường
i là C[i] (i=1,2, n) Một hành khách xuất phát từ một bến nào đó, muốn đi L km trên tuyến đường nói trên Hỏi người đó phải lên xuống như thế nào để tổng số tiền phải trả cho hành trình xe buýt là ít nhất
- Dữ liệu vào: Vào từ file văn bản BUS.INP Trong đó:
- Dòng 1 ghi hai số nguyên dương N,L (N<=20; L<=200)
- Dòng 2 ghi N số nguyên dương C[1],C[2], ,C[n] được ghi cách nhau bởi dấu cách
- Kết quả: GHi ra file văn bản BUS.OUT Trong đó:
- Dòng 1: Ghi cước phí ít nhất phải trả
- Dòng 2: Ghi số lần lên xuống xe
- Dòng 3: Ghi K là độ dài của các đoạn đường của K lần ngồi xe Các số cách nhau ít nhất 1 dấu cách
Ví dụ:
-BUS.INP -BUS.OUT
10 15 -142
12 21 31 40 49 58 65 79 90 101 -3
-1 7 7
Bài 2: Bưu điện (7 điểm)
-Có N ngôi làng, đánh số từ 1 đến N, được nối với nhau bởi các tuyến đường nối trực tiếp giữa hai làng sao cho
từ một làng bất kì có thể đi đến một làng bất kì khác bằng con đường này Hãy chọn ra một làng để đặt trạm bưu điện sao cho quãng đường xa nhất từ làng khác đến nó là nhỏ nhất
-Dữ liệu vào: Vào từ file POST.INP
- Dòng 1: Ghi N là số ngôi làng (n<=100)
- Tiếp theo là một số dòng, mỗi dòng ghi 3 số nguyên dương u,v,w,thể hiện có một con đường (hai chiều) nối làng
u và làng v với độ dài w (lưu ý rằng giữa 2 làng có thể có nhiều hơn một đường đi trực tiếp) 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 POST.OUT, gồm 2 dòng
- Dòng 1: ghi số hiệu ngôi làng sẽ đặt trạm bưu điện
- Dòng 2: ghi độ dài đoạn đường xa nhất từ một làng đến bưu điện, trong phương án tối ưu
Ví dụ:
-POST.INP -POST.OUT
-3 -2
-1 2 3 -3
-2 3 1
-1 3 8
Trang 3Bài 3: Đổ nước (7 điểm) Có N chai dung tích L[1], L[2], ,L[N] (lít), trong đó chai thứ nhất đổ đầy nước Hãy
tìm cách lấy ra M lít nước(với 0<=M<=L, L[1]<=100)
-Dữ liệu vào: Từ file WATER.INP, gồm dòng đầu là 2 số nguyên dương N và M (với N<=10) Dòng thứ hai
ghi N số nguyên dương L[1],L[2], ,L[N] là dung tích của các chai
-Kết quả: Đưa ra file WATER.OUT, theo quy cách
-Nếu không tìm được cách đổ thì ghi -1
-Nếu tìm được cách đổ thì trong K dòng đầu tiên (với K là số bước cần thực hiện), mỗi dòng ghi 2 số nguyên p và q, với ý nghĩa là phải đổ nước từ chai p sang chai q Tiếp theo là K dòng, mỗi dòng ghi N số, trong dòng thứ j (1<=j<=K) , số thứ i là dung tích nước trong trai i tại bước thứ j Dòng cuối cùng ghi số nguyên K là số bước thực hiện
- Các số trên một dòng của Input/Outpuc File được ghi cách nhau ít nhất một dấu cách
Ví dụ:
-WATER.INP -WATER.OUT
-3 6 -1 2
-12 10 2 -2 3
-3 1
-2 3
-2 10 0
-2 8 2
-4 8 0
-4 6 2
-4
ĐỀ 3:
Bài 1: Cặp số ''hữu nghị'' (2 điểm) Hai số nguyên dương được gọi là ''hữu nghị'' nếu số này bằng tổng các ước
thực sự của số kia và ngược lại (ước thực sự của một số nguyên dương là ước nhỏ hơn số đó, ví dụ số 6 có các ước thực sự là 1,2,3) Hãy tìm các cặp số ''hữu nghị'' từ 100 đến 1000
Kết quả: Đưa ra màn hình, mỗi cặp số tìm được ghi trên một dòng, số bé viết trước, các số cách nhau tối thiểu một
dấu cách
Bài 2: Xoá chữ số (2 điểm) Tìm tất cả các số có 4 chữ số thoả mãn tính chất: Nếu xoá đi 1 chữ số nào đó thì số
đó giảm đi 9 lần. Kết quả: Đưa ra màn hình, gồm nhiều dòng, mỗi dòng 2 số: số thứ nhất là số có 4 chữ số thoả
mãn tính chất trên, số thứ hai là số có 3 chữ số có được từ số thứ nhất sau khi đã xoá đi 1 chữ số để được số bằng 1/9 số thứ nhất, các số cách nhau tối thiểu một dấu cách Các kết quả ghi không được trùng nhau
-Dòng cuối ghi số các số tìm được
Bài 3: Xoáy ốc (2 điểm) Lập chương trình nhập các số tự nhiên liên tiếp 1,2,3,4, ,N*N vào bảng A[N*N] theo
chiều xoáy ốc ngược chiều kim đồng hồ
-Sau đó in ra bảng A[N*N] ra màn hình Ví dụ N=4 cấn nhập vào và in ra kết quả như sau:
-1 12-11-10
-2 13-16 9
-3 14-15 8
-4 -5 6 7
-Dữ liệu vào: Nhập từ bàn phím số nguyên dương N<=20.
-Kết quả: Đưa ra màn hình bảng A[N*N] gồm các số tự nhiên sắp xếp theo yêu cầu trên.
Bài 4: Số Amstrong (2.5 điểm) -Số tự nhiên N có k chữ số, được gọi là số Amstrong nếu N bằng tổng các luỹ
thừa bậc k của các số của nó. -Ví dụ: 153=1^3+5^3+3^3
-Hãy tìm tất cả các số Amstrong có k chữ số, với 3<=k<=6
-Kết quả: Đưa ra màn hình mỗi số tìm được viết trên một dòng.
-Dòng cuối cùng ghi số các số tìm được
Bài 5: Số độc đắc (1.5 điểm) Viết các số tự nhiên từ 1 đến 2009 theo một vòng tròn cùng chiều quay kim đồng
hồ Cũng theo chiều đó, bắt đầu từ số 1, cứ đếm từ 1 đến số thứ 612 thì xoá số đó đi Lại bắt đầu từ số còn lại đứng ngay sau số vừa bị xoá, lặp lại quá trình đến khi còn 1 số thì dừng lại
-a) Hỏi số còn lại là số nào?
-b) Muốn số còn lại là số thứ L (0<L<2010) thì ban đầu cần xuất phát từ số nào?
Dữ liệu vào: Nhập từ bàn phím số nguyên dương L (0<L<2010)
Kết quả: Đưa ra màn hình theo qui cách: dòng thứ nhất là kết quả cho câu hỏi a); dòng thứ hai là kết quả cho câu
hỏi b)