Chủ Nhật, 12 tháng 3, 2017

Hướng dẫn giải Đề thi học sinh giỏi lớp 9, môn Tin, tỉnh Đồng Nai năm 2015 - 2016

Tham khảo đề tại đây.

Tải bộ test tham khảo.

OCSEN Ốc sên bò

giải

Dùng vòng lặp mô tả lại việc di chuyển của ốc sên. Chú ý: ngày cuối cùng, khi đã leo lên miệng giếng ốc sên sẽ không tụt xuống nữa.

code

Const fi='ocsen.inp';fo='ocsen.out';
Var
    x,y,h: int64;

Procedure nhap;
        Begin
        Readln(x,y,h);
        End;

Procedure giai;
        Var i,j,t,d: longint;
        begin
        t:=0;d:=0;
        While t<h do
                begin
                t:=t+x;
                If t<h then t:=t-y;
                inc(d);
                end;
        Writeln(d);
        End;
Begin
Assign(input,fi);Reset(input);
Assign(output,fo);Rewrite(output);
nhap;
giai;
End.

MAKHOA Tìm mã khóa

giải

Đọc vào 2 xâu s1, s2
Dùng hai mảng d1[‘0’..’9’], d2[‘0’..’9’] để đánh dấu sự xuất hiện của chữ số i trong xâu s1, s2.
Duyệt ngược từ ‘9’ về ‘0’, xuất các chữ số c có d1[c] = true và d2[c] = true để thu được số lớn nhất.

Code

Const fi='makhoa.inp';fo='makhoa.out';
Var s1,s2:string;
        d1,d2:array['0'..'9'] of boolean;

Procedure nhap;
        Begin
        readln(s1);readln(s2);
        End;

Procedure giai;
        Var i: longint; c:char;
        begin
        for i:=1 to length(s1) do d1[s1[i]]:=true;
        for i:=1 to length(s2) do d2[s2[i]]:=true;
        for c:='9' downto '0' do
                if (d1[c]=true) and (d2[c]=true) then write(c);
        End;
Begin
Assign(input,fi);Reset(input);
Assign(output,fo);Rewrite(output);
nhap;
giai;
End.

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.