đề thi hsg tin 11_2010-2011
Chia sẻ bởi Trương Quỳnh Trang |
Ngày 26/04/2019 |
42
Chia sẻ tài liệu: đề thi hsg tin 11_2010-2011 thuộc Tin học 11
Nội dung tài liệu:
Đề thi học sinh giỏi tỉnh Hà tĩnh.
Câu 3: từ N loại sơn ban đầu có số hiệu là 1, 2,..,N(N<=9), người ta có thể tạo ra rất nhiều loại sơn tổng hợp khác nhau bằng cách trộn lẫn một số loại sơn nào đó lại với nhau theo một liều lượng nào đó của mỗi loại. Khi tham gia trộn để được 1 loại sơn tổng hợp nào đó, các loại sơn khác nhau được đưa vào từ các vị trí khác nhau và liều lượng của mỗi loại sơn là bao nhiêu phụ thuộc vào thứ tự vị trí đưa vào của loại sơn đó. Liều lượng của mỗi loại sơn mà khác nhau trong khi trộn thì cho ra các loại sơn tổng hợp khác nhau. Hãy liệt kê ra tất cả các phương án trộn M loại sơn(M<=N) trong N loại sơn đã cho để có được các loại sơn tổng hợp. Dữ liệu vào: giá tri N,M được nhập từ bàn phím. Dữ liệu ra là têp văn bản son.out có cấu trúc: mỗi dòng ghi số hiệu của M loại sơn theo thứ tự khi đưa vào trộn để tạo ra 1 loại sơn nào đó. Dòng cuối cùng ghi ra số lượng các loại sơn. VD
N=3 M=2
thì tệp son.out có dạng
1 2 1 3 2 1 2 3 3 1 3 2 6
Câu 1: dãy con lớn nhất Cho dãy số A gồm N số nguyên a1,a2..an. Dãy số Ap..Aq voi 1<=p, q<=n được gọi là dãy con cua dã số a. tổng giá trị các số trong 1 dãy con gọi là trọng lượng dãy con đó. hãy tim dãy con co trong lượng lớn nhât của dãy số A. dữ liệu vào: tệp dayso.inp
5 3 -1 2 -2 1
dữ liệu ra là tệp dayso.out, dòng đầu tiên là p và q, dong thứ 2 la trọng lượng của dãy con tìm được.
1 3 4
câu 2 kiểm tra xem một xâu dọc từ tệp có phải là xâu đối xứng hay không. Input: tệp robot.inp gồm : dòng 1 la N(n chẵn,và là độ dài của xâu s) dòng 2 là xâu s. Output tệp robot.out nếu là xâu dối xứng thì viết vào tệp output thông báo `CO` còn không phải thì viết là `KHONG`. Các bạn giải đi. đối chiếu với bài làm của mình xem thử cái nào hay hơn. để a e học hỏi. Đề thi chỉ gồm 3 câu trên. Thời gian là 180 phút.
đay là bài 1 mình đã làm:
program day_con; var f:text; a:array[1..255] of integer; i,j,n,p,q,max,h,t: integer; {cac chuong trinh con} procedure doc_tep; begin assign(f,`dayso.inp`); reset(f); readln(f,n); for i:=1 to n do read(f,a[i]); close(f); end; procedure xu_li; begin max:=-maxint; for i:=1 to n do for h:=n downto i do begin t:=0; for j:=i to h do t:=t+a[j]; if t>max then begin max:=t; p:=i; q:=h; end; end; end; procedure ghi_tep; begin assign(f,`dayso.out`); rewrite(f); writeln(f,p,` `,q); writeln(f,max); close(f); end; {bat dau chuong trinh chinh} Begin doc_tep; xu_li; ghi_tep; end.
Còn đây là bài 2:
program robot; var f:text; s: string; kt: boolean; i,n: integer; {cac chuong trinh con} procedure doc_tep; begin assign(f,`robot.inp`); reset(f); readln(f,n); readln(f,s); close(f); end; procedure xu_li; begin kt:=true; for i:=1 to (n div 2) do begin if s[i]<>s[n-i+1] then begin kt:=false; break; end; end; end; procedure ghi_tep; begin assign(f,`robot.out`); rewrite(f); if kt=true then writeln(f,`CO`) else writeln(f,`KHONG`); close(f);
Câu 3: từ N loại sơn ban đầu có số hiệu là 1, 2,..,N(N<=9), người ta có thể tạo ra rất nhiều loại sơn tổng hợp khác nhau bằng cách trộn lẫn một số loại sơn nào đó lại với nhau theo một liều lượng nào đó của mỗi loại. Khi tham gia trộn để được 1 loại sơn tổng hợp nào đó, các loại sơn khác nhau được đưa vào từ các vị trí khác nhau và liều lượng của mỗi loại sơn là bao nhiêu phụ thuộc vào thứ tự vị trí đưa vào của loại sơn đó. Liều lượng của mỗi loại sơn mà khác nhau trong khi trộn thì cho ra các loại sơn tổng hợp khác nhau. Hãy liệt kê ra tất cả các phương án trộn M loại sơn(M<=N) trong N loại sơn đã cho để có được các loại sơn tổng hợp. Dữ liệu vào: giá tri N,M được nhập từ bàn phím. Dữ liệu ra là têp văn bản son.out có cấu trúc: mỗi dòng ghi số hiệu của M loại sơn theo thứ tự khi đưa vào trộn để tạo ra 1 loại sơn nào đó. Dòng cuối cùng ghi ra số lượng các loại sơn. VD
N=3 M=2
thì tệp son.out có dạng
1 2 1 3 2 1 2 3 3 1 3 2 6
Câu 1: dãy con lớn nhất Cho dãy số A gồm N số nguyên a1,a2..an. Dãy số Ap..Aq voi 1<=p, q<=n được gọi là dãy con cua dã số a. tổng giá trị các số trong 1 dãy con gọi là trọng lượng dãy con đó. hãy tim dãy con co trong lượng lớn nhât của dãy số A. dữ liệu vào: tệp dayso.inp
5 3 -1 2 -2 1
dữ liệu ra là tệp dayso.out, dòng đầu tiên là p và q, dong thứ 2 la trọng lượng của dãy con tìm được.
1 3 4
câu 2 kiểm tra xem một xâu dọc từ tệp có phải là xâu đối xứng hay không. Input: tệp robot.inp gồm : dòng 1 la N(n chẵn,và là độ dài của xâu s) dòng 2 là xâu s. Output tệp robot.out nếu là xâu dối xứng thì viết vào tệp output thông báo `CO` còn không phải thì viết là `KHONG`. Các bạn giải đi. đối chiếu với bài làm của mình xem thử cái nào hay hơn. để a e học hỏi. Đề thi chỉ gồm 3 câu trên. Thời gian là 180 phút.
đay là bài 1 mình đã làm:
program day_con; var f:text; a:array[1..255] of integer; i,j,n,p,q,max,h,t: integer; {cac chuong trinh con} procedure doc_tep; begin assign(f,`dayso.inp`); reset(f); readln(f,n); for i:=1 to n do read(f,a[i]); close(f); end; procedure xu_li; begin max:=-maxint; for i:=1 to n do for h:=n downto i do begin t:=0; for j:=i to h do t:=t+a[j]; if t>max then begin max:=t; p:=i; q:=h; end; end; end; procedure ghi_tep; begin assign(f,`dayso.out`); rewrite(f); writeln(f,p,` `,q); writeln(f,max); close(f); end; {bat dau chuong trinh chinh} Begin doc_tep; xu_li; ghi_tep; end.
Còn đây là bài 2:
program robot; var f:text; s: string; kt: boolean; i,n: integer; {cac chuong trinh con} procedure doc_tep; begin assign(f,`robot.inp`); reset(f); readln(f,n); readln(f,s); close(f); end; procedure xu_li; begin kt:=true; for i:=1 to (n div 2) do begin if s[i]<>s[n-i+1] then begin kt:=false; break; end; end; end; procedure ghi_tep; begin assign(f,`robot.out`); rewrite(f); if kt=true then writeln(f,`CO`) else writeln(f,`KHONG`); close(f);
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Trương Quỳnh Trang
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)