Nói hai trạng thái GA và GB là khác nhau nếu tồn tại ít nhất một chỉ số mà GAi≠ GBi.. Đội nào có bảng điều khiển mang lại cho Robot nhiều trạng thái khác nhau nhất từ một trạng thái bắt
Trang 1NHA TRANG – KHÁNH HOÀ
OLYMPIC TIN HỌC SINH VIÊN LẦN THỨ XI
KHỐI THI: CHUYÊN
Thời gian làm bài: 180 phút Ngày thi: 26 – 04 – 2002 Nơi thi: Trường Đại học Thuỷ sản Nha Trang Anh/chị hãy lập trình giải các bài toán sau:
Trong cuộc thi lập trình điều khiển Robot giữa các đội sinh viên các trường đại học Ban Giám khảo cung cấp cho các đội một loại Robot có khả năng tự thay đổi hình dạng bề ngoài của nó Hình dạng bề ngoài của Robot được xác định bởi vào véctơ trạng thái G = (G1, G2, …, GN), các giá trị G1 thuộc khoảng [1, N] và khác nhau từng đội với mọi i
Nói hai trạng thái GA và GB là khác nhau nếu tồn tại ít nhất một chỉ số mà GAi≠ GBi
Sau mỗi đơn vị thời gian, véctơ G thay đổi theo một bảng quy tắc định sẵn Q, trong đó, nếu Q1
= K, thì vào thời điểm kế tiếp giá trị của Gi sẽ bằng giá trị của GK tại thời điểm hiện tại
Ví dụ: với N = 5 và bảng biến đổi Q = ( 2, 1, 5, 3, 4) và véctơ trạng thái hiện tại G = (1, 2, 3, 4, 5), thì véctơ G ở thời điểm tiếp theo sẽ là (2, 1, 5, 3, 4)
ở thời điểm tiếp theo nữa sẽ là G = (1, 2, 4, 5, 3)
Với N cho trước (2£N£80), các đội phải lập trình xác định bảng biến đổi Q Đội nào có bảng điều khiển mang lại cho Robot nhiều trạng thái khác nhau nhất từ một trạng thái bắt đầu bất kỳ
là đội thắng cuộc
Yêu cầu: Xác định bảng biến đổi để thắng cuộc.
Dữ liệu: Vào từ file văn bản ROBOT.INP, gồm 1 số nguyên N.
Kết quả: Đưa ra file văn bản ROBOT.OUT:
Dòng đầu tiên: Số nguyên M cho biết số trạng thái khác nhau mà Robot có thể mang,
Dòng thứ 2: N số nguyên xác định bằng Q tìm được, các số khác nhau ít nhất một khoảng trắng
Ví dụ:
2 1 5 3 4
ĐỀ CHÍNH THỨC
Trang 2Cho hai số tự nhiên A có N chữ số và B có M chữ số (2£N,M£100) Xét các số nguyên dương
có các tính chất sau:
Có N + M chữ số
Có thể đánh dấu N chữ số trong C để các chữ số được đánh dấu (giữ nguyên trình tự xuất hiện trong C) tạo thành A và các chữ số không được đánh dấu (giữ nguyên trình tự) tạo thành B
Yêu cầu: Hãy tìm số lớn nhất Cmax và số nhỏ nhất Cmin thoả mãn các điều kiện trên
Dữ liệu: Vào từ file văn bản NUM.INP, gồm 2 dòng:
Dòng đầu chứa số nguyên A
Dòng thứ 2 chứa số nguyên B
Kết quả: đưa ra file văn bản NUM.OUT 2 dòng:
Dòng đầu: chứa số nhỏ nhất Cmin tìm được
Dòng thứ 2: chứa số lớn nhất Cmax tìm được
Ví dụ:
20 4181
204181 421810
Bài 3: CHIP Tên chương trình: CHIP.???
Ứng dụng công nghệ Nano, người ta đã sản xuất các con chíp với hàng triệu chân trên 1mm2 Các linh kiện được cấy trên một đường tròn có dây dẫn điện, đảm bảo 2 linh kiện bất kỳ kề nhau (trên đường tròn) đều dây dẫn nối trực tiếp Các linh kiện được đánh số từ 1 tới N (3<N£10000)
Thiết kế ban đầu được xây dựng trên cơ sở công nghệ cũ, nên mặc dù đáp ứng yêu cầu phẳng
hoá đồ thị (không có đường dây dẫn giao nhau ngoài điểm chung có thể có ở tại linh kiện),
nhưng nếu bố trí chúng trên đường tròn thì có thể thứ tự các linh kiện theo vị trí trên đường tròn không phải là từ 1 tới N mà là một hoán vị nào đó của các số 1, 2, …, N Ngoài ra, ở sơ đồ cũ còn có thêm một số đường nối tạo thành những dây cung (không giao nhau) Điều này sẽ không cản trở đáng kểđã nâng cấp chất lượng linh kiện (trên thực chất, phải gọi là cụm linh kiện thì chính xác hơn), khử bỏ được các đường nối là dây cung Các linh kiện vẫn giữ nguyên cách đánh số trước đây để tránh nhầm lẫn khi sử dụng kho tài liệu kỹ thuật số đồ sộ vốn có
Ở thiết kế ban đầu, người ta cho biết số linh kiện N trong mạch và các cặp linh kiện (I, J), mà giữa chúng cần có đường nối trực tiếp Dĩ nhiên, giữa hai linh kiện I, J bất kỳ có không quá một đường nối và số lượng đường nối không quá 2N-3 (Yêu cầu phẳng hoá!) Bảng thiết kế có dạng: 5
4 3
5 2
1 3
2 4
5 3
2 5
5 4 Sơ đồ cũ Sơ đồ mới
Trong bản thiết thiết kế mới, các đường nối 4 với 5 và 4 với 3 bị loại bỏ và người ta chỉ nêu trình tự bố trí chúng trên đường tròn, bắt đầu từ linh kiện 1 trở đi trở đi, cụ thể là 1 3 5 2 4
1 2 3
1 3 4
Trang 3Mọi chuyện sẽ đơn giản nếu người ta còn giữ lại được bản vẽ sơ đồ thiết kế cũ Nhưng không may, bản vẽ này lại bị thất lạc Ta chỉ có thể dựa trên số liệu về các đường nối trực tiếp còn lưu lại để xác định bản thiết kế mới
Yêu cầu: từ thông tin ở bản vẽ thiết kế cũ, hãy xác định bản thiết kế mới.
Dữ liệu: vào từ file văn bản CHIP.INP chứa nội dung của bản thiết kế mới.
Dòng đầu tiên chứa số nguyên N,
Các dòng sau: mỗi dòng một cặp số nguyên I, J cho biết hai chân I và J được nối với nhau, 1£ I, J£ N, I ¹ J
Các số trên cùng một dòng cách nhau bởi khoảng trắng
Kết quả: Đưa ra file văn bản CHIP.OUT mô tả nội dung bản thiết kế mới:
Đưa N dòng, mỗi dòng chứa một số nguyên xác định trình tự bố trí các linh kiện trên đường
tròn, bắt đầu từ 1 trở đi theo chiều hướng đến chân có chỉ số nhỏ hơn trong số hai chân nối
trực tiếp với nó
Ví dụ:
5
4 3
5 2
1 3
4 2
5 3
1 4
5 4
1 3 5 2 4
Ghi chú: Cán bộ coi thi không giải thích gì thêm.