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ử
Trang 1SỞ GIÁO DỤC & ĐÀO TẠO KỲ THI CHỌN HỌC SINH GIỎI TỈNH – THPT
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ả
Hãy lập trình giải các bài toán sau:
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
ĐỀ CHÍNH THỨC
Trang 2Bà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ụ:
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
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
Trang 3
SỞ GIÁO DỤC & ĐÀO TẠO KỲ THI CHỌN HỌC SINH GIỎI TỈNH – THPT
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
Cho điểm với các test
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
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
Trang 42292 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