Đề và đáp án môn Tin học kỳ thi HSG tỉnh Thanh Hoá năm học 2015_ 2016

10 534 10
Đề và đáp án môn Tin học kỳ thi HSG tỉnh Thanh Hoá năm học 2015_ 2016

Đang tải... (xem toàn văn)

Thông tin tài liệu

Đề thi, hướng dẫn làm các bài trong đề thi và bộ test dùng để chấm điểm. Chỉ cần tải về làm rồi dùng chương trình Themis để chấm bài. Nếu không làm được thì đọc hướng dẫn làm bài và đọc chương trình tôi đã viết. Cảm ơn

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ ĐỀ CHÍNH THỨC Số báo danh …………………… KỲ THI HỌC SINH GIỎI TỈNH Năm học: 2015-2016 Môn thi: Tin học Lớp 12 THPT Ngày thi: 10/03/2016 Thời gian: 180 phút (không kể thời gian giao đề) Đề có 03 câu, gồm 02 trang Tổng quan thi: Câu Tên Tên file nguồn Tên file input Tên file output Điểm Cực tiểu BAI1.PAS BAI1.INP BAI1.OUT Mật BAI2.PAS BAI2.INP BAI2.OUT Dãy BAI3.PAS BAI3.INP BAI3.OUT * Dữ liệu vào đắn, không cần phải kiểm tra Các số dòng ghi cách dấu cách Hãy lập trình giải toán sau: Bài 1: Cực tiểu: Cho dãy số gồm N số nguyên a 1, a2, , aN Người ta định nghĩa số a i cực tiểu địa phương thỏa mãn ai-1 > < ai+1 (a1 aN không gọi cực tiểu địa phương) Hãy tìm số lượng cực tiểu địa phương dãy số Input: Cho file văn BAI1.INP gồm: - Dòng chứa số nguyên dương N (N ≤ 106) - Dòng chứa dãy số nguyên a1, a2, , aN (|ai| ≤ 109, ) Output: Kết ghi file văn BAI1.OUT số kết toán Ví dụ: BAI1.INP BAI1.OUT 2323 Bài 2: Mật khẩu: Một xâu ký tự gọi mật "an toàn" thỏa mãn điều kiện: Độ dài xâu >= 6, chứa chữ in hoa ('A' 'Z'), chứa chữ thường ('a' 'z') chứa chữ số ('0' '9') Ví dụ: 'a1B2C3', 'tinHoc6' hai mật "an tồn", cịn 'a1B2C', 'a1b2c3', 'A1B2C3', 'tinhoc' khơng phải mật "an tồn" Cho xâu S mà ký tự S thuộc ba loại sau: Chữ in hoa ('A' 'Z'), chữ thường ('a' 'z'), chữ số ('0' '9') Tìm xem có cặp số (i,j) thỏa mãn điều kiện: b[i-1]) and (c[j]>c[i-1]) then d:=d+1; assign(f,fo); rewrite(f); write(f,d); close(f); end Bài 3: Đây qui hoạch động Dùng mảng b với ý nghĩa • b[i]=true ta chọn dãy số phần tử có tổng i • b[i]=false ta khơng thể chọn dãy số phần tử có tổng i Xét phần tử a[i] Nếu b[j-a[i]]=true b[j]=true (vì thêm a[i] vào dãy có tổng j-a[i] ta dãy có tổng j) Để truy vết dãy ta dùng mảng pre Để đếm số lượng dãy ta dùng mảng sl const fi='bai3.inp'; fo='Bai3.out'; var f:text; d,i,j,n,k:longint; a,c:array[1 500] of longint; pre,sl:array[0 50000] of longint; b:array[0 50000] of boolean; begin assign(f,fi); reset(f); readln(f,n,k); for i:=1 to n read(f,a[i]); close(f); b[0]:=true; sl[0]:=1; d:=0; for i:=1 to n for j:=k downto a[i] if b[j-a[i]] then begin b[j]:=true; sl[j]:=sl[j]+sl[j-a[i]]; if pre[j]=0 then pre[j]:=a[i]; end; assign(f,fo); rewrite(f); if sl[k]1 then write(f,sl[k]) else begin i:=0; while k>0 begin inc(i); c[i]:=pre[k]; k:=k-c[i]; end; for j:=i downto write(f,c[j],' '); end; close(f); End Một số test chấm 10 ... sau: - Nếu khơng có dãy thỏa mãn đề ghi số: - Nếu có từ dãy trở lên thỏa mãn đề ghi số lượng dãy thỏa mãn - Nếu có dãy thỏa mãn ghi phần tử dãy theo thứ tự nhập vào dãy số Ví dụ: BAI3.INP 16 BAI3.OUT... chứa chữ thường ('a' 'z') chứa chữ số ('0' '9') Ví dụ: 'a1B2C3', 'tinHoc6' hai mật "an tồn", cịn 'a1B2C', 'a1b2c3', 'A1B2C3', 'tinhoc' khơng phải mật "an toàn" Cho xâu S mà ký tự S thuộc ba loại... khơng thể chọn dãy số phần tử có tổng i Xét phần tử a[i] Nếu b[j-a[i]]=true b[j]=true (vì thêm a[i] vào dãy có tổng j-a[i] ta dãy có tổng j) Để truy vết dãy ta dùng mảng pre Để đếm số lượng dãy ta

Ngày đăng: 17/10/2020, 10:15

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan