- Giám khảo có thể sử dụng chương trình gợi ý dưới đây để tính toán kết quả của dữ liệu vào.[r]
(1)1
HƯỚNG DẪN VÀ ĐÁP ÁN CHẤM
ĐỀ THI CHỌN HSG LỚP 11 THPT – VỊNG I NĂM HỌC 2015-2016 Mơn: Tin học
Khóa thi ngày 23 - - 2015 I- Phương pháp:
- Giám khảo tạo liệu vào, tính tốn kết Thực chương trình học sinh so sánh kết
- Giám khảo sử dụng chương trình gợi ý để tính tốn kết của liệu vào
- Đối với câu 1: Giám khảo phải tạo 06 test, chương trình học sinh đúng 01 test giám khảo cho 0.5 điểm Trong 06 test giám khảo phải tạo 02 test có N>=70000000
- Đối với câu 2:
+ Giám khảo phải tạo 07 test, chương trình học sinh 01 test thì giám khảo cho 0.5 điểm Trong 07 test giám khảo phải tạo 02 test có K >= 700000
+ Thời gian thực chương trình không giây với tất test - Đối với câu 3:
+ Giám khảo phải tạo 07 test, chương trình học sinh 01 test thì giám khảo cho 0.5 điểm
+ Giám khảo phải tạo 01 test có N+M >= 300
II- Chương trình gợi ý: Program nguyento;
Const fi='NGUYENTO.in6'; fo='NGUYENTO.gv6'; Var
I,n:longint; f:text; KT:boolean;
BEGIN
assign(f,fi); reset(f); readln(f,n); close(f); kt:=true;
if n=1 then kt:=false;
for i:=2 to trunc(sqrt(n)) if n mod i = then kt:=false; assign(f,fo);
rewrite(f);
if kt then write(f,'Y') else write(f,'N'); close(f);
END
PROGRAM DOISO;
CONST fi='doiso.in7'; fo='doiso.gv7';
VAR a: array['0' '9'] of longint; i,n:longint;
x:char; f:text; BEGIN
fillchar(a,sizeof(a),0);
(2)2
for i:=1 to n begin
read(f,x); a[x]:=a[x]+1; end;
close(f); assign(f,fo); rewrite(f);
for x:='1' to '9' if a[x]>0 then
for i:=1 to a[x] write(f,x);
close(f); END
program bai;
Const fi='KYTU.in7'; fo='KYTU.GV7'; Var m,n,k:longint; X,Y:string;
function Max(a,b: integer): integer;
begin if a > b then Max := a else Max := b; end; function XauChung(var x,y: string): integer; var m,n,i,j: integer;
a,b: array[0 255] of integer; begin
m := length(x); n := length(y); fillchar(a,sizeof(a),0);
for i := to m begin
for j := to n
if x[i] = y[j] then b[j] := a[j-1]+1 else b[j] := Max(a[j],b[j-1]); a := b;
end;
XauChung := a[n]; end;
Procedure doc; Var f:text; Begin
Assign(f,fi); Reset(f); Readln(f,x); readln(f,y); Close(f); End;
Procedure ghi; Var f:text; Begin
Assign(f,fo); Rewrite(f); Write(f,m); Close(f); End;
BEGIN doc;
m:=length(x); n:=length(y); k:=xauchung(x,y); m:=m+n-2*k;