Chủ đề: Đề thi HSG
-
10-20-2010, 03:39 AM #1
Silver member
- Ngày tham gia
- Sep 2015
- Bài viết
- 25
Đề thi HSG
Hôm nay thi học sinh giỏi cấp trường mình có bài toán này các bạn tham khảo và giải nhé
Cho hai dãy số nguyên U=(u1,u2,.....,um) và V=(v1,v2,....,vm). Các phần tử của mỗi dãy được sắp xếp theo thứ tự không giảm, mỗi phần tử có giá trị tuyệt đối không quá 32000. Hãy hòa hai dãy U và V thành dãy không giảm.
-
10-20-2010, 05:43 AM #2
Silver member
- Ngày tham gia
- Nov 2015
- Bài viết
- 23
Hướng dẫn: lần lượt so sánh kí tự đầu (i) của dãy U và kí tự đầu (j) của dãy V để quyết định số nào được cho vào mảng kết quả trước, tăng i hoặc j tương ứng.
Tới đây chắc bạn hiểu cách làm rồi.
-
10-21-2010, 01:34 AM #3
Silver member
- Ngày tham gia
- Aug 2015
- Bài viết
- 150
M,N nhỏ thì cứ trộn bừa rồi QSort cho nó tiện [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG])
-
10-21-2010, 04:15 PM #4
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 6
các bạn viết đầy đủ chương trình cho mình tham khảo xem nào
CÒn mình thì ghép 2 mảng rồi sắp xếp không biết có được ko. Nếu làm như vậy thì thuật toán có độ phức tạp lớn vì phải sắp xếp lại.
code của mình đây
Mã:Var A,B:array[1..100] of integer; i,m,j,tg:integer; Begin Write('Nhap vao so phan tu cua mang'); Readln(m); {Nhap vao 2 mang A,B} For i:=1 to m do Begin write('A[',i,']='); Readln(A[i]); End; For i:=1 to m do Begin write('B[',i,']='); Readln(B[i]); End; {Ghep mang B vao cuoi mang A} For j:=m+1 to 2*m do A[j]:=B[j-m]; {Sap xep lai mang da ghep} For j:=2*m downto 2 do For i:=1 to j-1 do IF A[i]>A[i+1] then Begin tg:=A[i]; A[i]:=A[i+1]; A[i+1]:=tg; End; {Dua ra mang ket qua} For i:=1 to 2*m do write(A[i]:3); Readln End.
họ hướng dẫn là dùng các phần tử canh chừng A[m+1]:=32001; B[m+1]:=32001;
Mình thấy như vậy thì hơi phức tạp, các bạn có thể sửa cách khác không
code đây;
Mã:Var A,B,C:array[1..100] of integer; i,m,j,k,h:integer; Begin Write('Nhap vao so phan tu cua mang'); Readln(m); For i:=1 to m do Begin write('A[',i,']='); Readln(A[i]); End; For i:=1 to m do Begin write('B[',i,']='); Readln(B[i]); End; h:=1;k:=1; A[m+1]:=32001;B[m+1]:=32001; For i:=1 to 2*m do if A[h]<B[k] then Begin C[i]:=A[h]; inc(h); end else Begin C[i]:=B[k]; inc(k); End; For i:=1 to 2*m do write(C[i]:3); Readln End.
-
10-22-2010, 04:36 AM #5
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Gửi bởi tungthao94
---------------------------------Bài viết đã được trộn ---------------------------------
Gửi bởi honthien00
À mà sao lehang bị ban nick vậy?
-
10-25-2010, 01:11 AM #6
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Mình rất ức chế, lần trước gửi tài đề tài mới làm thế nào mà bị gửi 3 lần, mình tìm để xóa mà không được. Vậy là bị ban nick.
-
10-25-2010, 05:24 AM #7
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Gửi bởi lehang_gb1
Theo các bác sĩ chuyên khoa thì nữ giới không nên cạo lông ở vùng kín vì không có phương pháp tẩy lông nè an toàn tuyệt đối. Việc để lông “cô bé” tự nhiên vẫn tốt hơn vì nó có nhiều tác dụng có lợi...
Cạo lông vùng kín đúng cách: An toàn, vệ sinh và thẩm mỹ