Đề thi học sinh giỏi Tin thành phố Hà Nội Lớp 12 năm 2010 - 2011
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".
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ờ.
- 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
Được sửa bởi vzic lúc 17:15 ngày 16-10-2010
Quote
16-10-2010 17:10 #2
Heroboss12
View Profile
View Forum Posts
Visit Homepage
Registered User
Tham gia
26-12-2008
Bài viết
41
Like
Mọi người xem hộ em bài 3 cái
không hiểu sao với các test nhỏ (n,m<20) thì các toạ độ được viết xuống dòng, còn lại thì nó lại write trên
cùng 1 dòng. đây là code bài 3 của em
{$A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,P-,Q-,R-,S+,T-,V+,X+}
{$M 16384,0,655360}
program bai3;
uses crt;
var dd:array[1 30,1 30] of boolean;
m,n,i,j,k:integer;a,b:byte;
tong:integer;
f,g,f1:text;
procedure put(i,j:byte);
var p:byte;
begin
dd[i,j-1]:=false;
dd[i-1,j]:=false;
dd[i,j+1]:=false;
dd[i+1,j]:=false;
dd[i-1,j+1]:=false;
dd[i+1,j-1]:=false;
dd[i+1,j+1]:=false;
dd[i-1,j-1]:=false;
dd[i,j]:=false;
end;
procedure nhap;
var x:byte;f:text;
begin
tong:=0;
assign(f,'bai3.inp');
reset(f);
end;
end;
BEGIN
assign(f,'bai3.out');
rewrite(f);
nhap;
tinh;
writeln(f,tong);
nhap;
tinh2;
close(output);
END.
Thank trước
Quote
22-10-2010 16:24 #5
noel_trang
View Profile
View Forum Posts
Registered User
Tham gia
11-02-2010
Bài viết
39
Like
1
Thanked 0 Times in 0 Posts
hi, mình cũng vừa thi xong (đc 16.5 điểm)
bài 3 nếu làm như cách của bạn thì ko đúng hoàn toàn đâu.
VD: input:
4 13 5
begin
readln(f,u,v);
for j:=1 to 8 do
a[u+x[j],v+y[j]]:=2;
a[u,v]:=1;
end;
close(f);
end;
procedure timmin(var im,jm:byte);
var i,j,k:byte;min:byte;
begin
fillchar(b,sizeof(b),0);min:=255;im:=0;jm:=0;
for i:=1 to m do
for j:=1 to n do
if a[i,j]=0 then
begin
for k:=1 to 8 do
if (i+x[k]>0) and (i+x[k]<=m) and (j+y[k]>0) and (j+y[k]<=n) and (a[i+x[k],j+y[k]]>=0) then
inc(b[i,j]);
if b[i,j]<min then
begin
min:=b[i,j];im:=i;jm:=j;
end;
end;
end;
procedure xuli;
var im,jm,k:byte;
begin
d:=0;
repeat