Đề thi học sinh giỏi tin học thpt

Đây là bài tập pascal thi học sinh giỏi có đáp án, các bạn có thể comment hỏi bài hoặc giải bài. Mời các bạn tham khảo ngay phía bên dưới với hơn 100 đề và đáp án thi HSG tin cùng với  onthihsg ngay nhé.

Viết các số tự nhiên từ 1 đến 2009 theo một vòng tròn cùng chiều quay kim đồng hồ. Cũng theo chiều đó, bắt đầu từ số 1, cứ đếm từ 1 đến số thứ 612 thì xoá số đó đi. Lại bắt đầu từ số còn lại đứng ngay sau số vừa bị xoá, lặp lại quá trình đến khi còn 1 số thì dừng lại. a] Hỏi số còn lại là số nào? b] Muốn số còn lại là số thứ L [0kq] then kq:=v;Bài 3. [7 điểm] Quà Tết Trung thu Giả sử các số cho trong mảng A[1 M,1 N]. Dùng mảng B[1 M,1 N] để xây dựng nhãn cho từng ô theo công thức truy hồi. F[i,j] có giá trị bằng tổng các số trên các ô đi qua theo con đường tốt nhất từ một ô thích hợp thuộc cột 1 đến ô [i,j] thuộc dòng i cột j. Nhãn của các ô thuộc cột 1 bằng chính giá trị các ô đó. Các ô còn lại, lần lượt từ cột 2 đến cột n được xây dựng theo công thức truy hồi sau: ],[]}1,1[],1,[],1,1[{],[ kiAkiBkiBkiBMaxkiB +−+−−−= Ngoài ra, dùng mảng hai chiều T[1 M,1 N] để ghi lại chỉ số dòng của ô thuộc cột j-1 đi tới ô [i,j] và mảng một chiều KQ[1 N] để ghi lại chỉ số dòng của các ô đi qua từ cột 1 đến cột n trong phương án tối ưu. Hoặc sau khi tạo ra mảng B, ta tìm phần tử Max trên cột N, từ phần tử này truy vết về những phần tử thuộc dòng N-1, N-2,… về đến phần tử thuộc cột xuất phát [cột 1]. Cũng lưu ý rằng có thể không cần dùng mảng B[1 M,1 N] bằng cách ghi giá trị của B[1 M,1 N] đè dần lên mảng A[1 M,1 N] bắt đầu từ cột 2 đến cột N.

Video liên quan

Chủ Đề