SỞ GIÁO DỤC & ĐÀO TẠO KỲ THI CHỌN HỌC SINH GIỎI TỈNH – THPT QUẢNG NGÃI Năm học 2004-2005 Môn: Tin học - Bảng A Thời gian: 180 phút (không kể thời gian giao đề) Ngày thi: 05/12/2004 TỔNG QUAN BÀI THI NGÀY THỨ HAI - BẢNG A Tên bài Tên chương trình Dữ liệu vào Kết quả BÀI 3 Tháp Hà Nội TOWER.PAS Bàn phím Màn hình BÀI 4 Cửa sổ WINDOWS.PAS WINDOWS.INP WINDOWS.OUT Hãy lập trình giải các bài toán sau: Bài 3 : Tháp Hà nội Tên chương trình: TOWER.PAS Có 3 cọc cắm tại 3 vị trí 1, 2, 3 như hình 1. Trên cọc thứ nhất có một chồng gồm n đĩa bằng gỗ hình tròn to nhỏ khác nhau được xuyên lỗ ở giữa tựa như những đồng xu và đặt chồng lên nhau để tạo ra một toà tháp. Người chơi phải chuyển được toà tháp từ cọc 1 sang cọc 3, tuân thủ quy tắc sau: (1) Người chơi được sử dụng vị trí thứ 2 để đặt tạm các tầng tháp. (2) Mỗi lần được chuyển 1 tầng tháp từ một vị trí sang một trong hai vị trí còn lại. (3) Không được đặt tầng tháp lớn trên tầng tháp nhỏ. Hãy tìm cách giải bài toán trên với số lần chuyển đĩa là ít nhất, theo hai cách a. Sử dụng phương pháp đệ quy. b. Sử dụng phương pháp khác (không dùng đệ quy). Dữ liệu:: Nhập vào từ bàn phím số nguyên N , N ≤ 64. Kết quả: Xuất ra màn hình • Các bước chuyển • Tổng số lần chuyển Ví dụ: N=3 Xuất ra màn hình : A > C A > B C > B A > C B > A B > C A > C Số lần chuyển : 7 1/2 1 2 3 (A) (B) (C) Hình 1. Bài toán tháp Hà Nội ĐỀ CHÍNH THỨC Bài 4: Cửa sổ Tên chương trình: WINDOWS.PAS Trong khi sử dụng một số hệ điều hành phổ biến hiện nay, chúng ta thường mở một vài cửa sổ. Mỗi cửa sổ là một hình chữ nhật chứa các hình vuông nhỏ (có kích thước 1x1). Các cửa sổ đã mở phụ thuộc vào vị trí và kích thước của nó, có thể một phần hoặc toàn bộ bao trùm lên những cửa sổ đã được mở sớm hơn. Chúng ta có thể đóng cửa sổ bằng con chuột máy tính, nếu chúng ta kích chuột vào hình vuông nhỏ phía trên bên phải, trong giây lát cửa sổ sẽ được đóng. Hình vuông nhỏ của cửa sổ sẽ hiển thị rõ ràng nếu như không có hình vuông nào được mở sau nó mà chưa đóng. Viết chương xác định số lần kích chuột nhỏ nhất để đóng cửa sổ đã được mở đầu tiên. Dữ liệu: Vào từ tập tin văn bản Windows.inp - Dòng đầu tiên chứa số nguyên N, chính là số cửa sổ đã mở, 1 ≤ N ≤ 100. - Trong N dòng tiếp theo, mỗi dòng chứa 4 số nguyên R1, S1, R2 và S2, các số được viết cách nhau một dấu cách, 1 ≤ R1 ≤ R2 ≤ 10000, 1 ≤ S1 ≤ S2 ≤ 10000. R1, S1 là hàng, cột trên màn hình của hình vuông phía trên bên trái của cửa sổ. R2, S2 là hàng, cột trên màn hình của hình vuông phía dưới bên phải của cửa sổ. Các cửa sổ đã mở theo trật tự như đã xuất hiện trong tập tin dữ liệu vào. Chúng ta xem màn hình gồm các hàng, cột của các hình vuông nhỏ. Hàng được đánh số từ trên xuống dưới, cột được đánh số từ trái sang phải và hình vuông phía trên bên trái của màn hình ở hàng 1, cột 1. Kết quả: Ghi ra tập tin văn bản windows.out số lần kích chuột ít nhất để đóng cửa sổ đầu tiên. Ví dụ: windows.inp windows.inp windows.inp 3 3 1 6 4 1 2 4 6 2 3 5 5 3 4 1 6 3 2 2 5 5 1 4 3 6 3 3 3 4 4 1 1 2 2 5 5 6 6 windows.out windows.out windows.out 3 2 1 Ghi chú: - Thí sinh không được sử dụng tài liệu - Giám thị không giải thích gì thêm. 2/2 SỞ GIÁO DỤC & ĐÀO TẠO KỲ THI CHỌN HỌC SINH GIỎI TỈNH – THPT QUẢNG NGÃI Năm học 2004-2005 HƯỚNG DẤN CHẤM ĐỀ CHÍNH THỨC Môn: Tin học - Bảng A Ngày thi: 05/12/2004 Bài 3: 10 điểm Giải thuật : Phải đảm cài đặt không dùng đệ quy. Dùng stack để khử đệ quy. Test chương trình với N = 5, N=7, N=9, N=11, N=15 Test 1 Test 2 Test 3 Test 4 Test 5 N=5 N=7 N=9 N=11 N=13 31 127 511 2047 8191 Cho điểm với các test Câu a Câu b Test 1 0,5 1,5 Test 2 0,5 1,5 Test 3 0,5 1,5 Test 4 0,5 1,5 Test 5 0,5 1,5 Bài 4: (10 điểm) Test 1: 0,5 điểm Test 2: 0,5 điểm Test 3: 1 điểm Test 4: 2 điểm Test 5: 3 điểm Test 6: 3 điểm Test1 Test 2 Test 3 windows.inp windows.inp windows.inp 3 3 1 6 4 1 2 4 6 2 3 5 5 3 4 1 6 3 2 2 5 5 1 4 3 6 3 3 3 4 4 1 1 2 2 5 5 6 6 windows.out windows.out windows.out 3 2 1 Test3 Test 4 Test 5 windows.inp windows.inp windows.inp 30 6161 454 6798 948 4539 3570 6826 5162 270 3788 3767 7556 4102 3247 5928 5136 4107 2856 4277 4606 37 1189 7245 5495 525 4753 4052 5979 827 4678 8792 8965 4110 2513 6549 6935 40 7329 4383 8260 6535 3233 6621 7834 6684 2442 1447 6069 5693 1969 1711 4548 4876 4118 5086 7622 7372 1873 2693 2406 6751 1612 2159 7294 2491 2710 7092 7177 7224 3059 1666 5150 8767 50 7373 311 8578 2162 2705 4225 4836 5842 4755 899 7763 2333 3855 2099 8069 7507 152 1478 8506 4119 2551 435 7820 1722 6780 354 8375 7338 2403 4310 8480 5501 4399 2857 4631 5020 3/2 2292 850 3517 4988 4873 1269 8506 4949 367 2089 2926 2991 2746 2097 7138 6816 1930 1506 4184 7841 3869 5203 8534 7039 1873 2013 8744 2749 2629 2499 8231 5444 6282 2198 7000 4101 5916 2686 6889 5680 3924 1215 7109 3245 3097 2189 4570 8152 1048 7782 6274 8865 2038 1032 3942 8449 1422 3777 3641 7859 4808 639 7740 7569 3600 723 5834 6541 5768 120 6663 5732 1536 2658 2854 8927 4516 7505 6802 8310 187 862 4252 3403 489 5889 6279 7962 249 1997 3311 7619 6175 3861 6983 8661 5911 7450 7306 8346 4280 1949 6108 3702 917 684 2528 4737 1140 3896 6681 4220 4288 6452 4908 8843 118 5423 6189 8878 5673 4660 6538 8479 2326 5102 4277 6713 6070 37 8567 4804 8300 1964 8694 7524 6157 1128 8655 8198 1104 273 5378 1150 4391 2374 5620 8904 237 4299 2995 6515 2584 111 6852 8879 2841 53 7934 893 1351 1076 5105 8093 2795 3366 6997 6813 236 6972 8911 8773 3275 3781 8561 6584 7374 1019 8163 3709 5705 6290 5846 6881 3291 2907 8742 8178 1816 6428 2175 7602 4205 906 5392 8771 165 7249 8953 8664 506 1290 7887 2013 6703 621 8971 3745 1864 1894 4326 8273 623 379 4032 4965 1217 8310 4021 8921 1108 2282 3796 2667 5326 606 8371 1752 832 294 8599 6546 5472 4369 8575 5540 3564 351 5635 7039 5123 3832 6172 6872 4815 3619 6674 6358 1780 853 2983 3569 629 3855 3482 8322 4400 1329 6310 2297 950 1948 3256 4020 5138 2337 6043 4843 4967 338 5484 8217 2819 934 3337 4315 4542 1585 5045 8947 4056 754 6391 1963 1948 3927 3053 5219 1064 1898 2810 2358 3629 3359 4777 8958 1233 2724 7586 2867 4109 242 6481 4983 3816 6107 6291 8462 6482 2606 6544 7234 145 2694 5074 8981 4521 4728 5580 8355 1534 1704 8304 4779 7540 7687 7802 8043 2565 901 3892 8828 909 2027 6355 8788 4336 3338 7225 3506 965 3374 6937 4771 3302 2539 6870 8694 6017 4440 7094 6007 65 6975 217 8367 1856 785 6595 6410 996 8271 8222 8749 1066 5410 7247 7396 1232 860 3523 1430 windows.out windows.out windows.out 4 12 21 4/2 . DỤC & ĐÀO TẠO KỲ THI CHỌN HỌC SINH GIỎI TỈNH – THPT QUẢNG NGÃI Năm học 200 4- 2005 Môn: Tin học - Bảng A Thời gian: 180 phút (không kể thời gian giao đề) Ngày thi: 05 /12/ 2004 TỔNG QUAN BÀI. Ghi chú: - Thí sinh không được sử dụng tài liệu - Giám thị không giải thích gì thêm. 2/2 SỞ GIÁO DỤC & ĐÀO TẠO KỲ THI CHỌN HỌC SINH GIỎI TỈNH – THPT QUẢNG NGÃI Năm học 200 4- 2005 HƯỚNG. học 200 4- 2005 HƯỚNG DẤN CHẤM ĐỀ CHÍNH THỨC Môn: Tin học - Bảng A Ngày thi: 05 /12/ 2004 Bài 3: 10 điểm Giải thuật : Phải đảm cài đặt không dùng đệ quy. Dùng stack để khử đệ quy. Test chương