Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 187 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
187
Dung lượng
2,57 MB
Nội dung
Đây là cuộc thi Olympiad Quốctế môn Tinhọc đầu tiên được tổ chức tại thành phố Pravetz, Bulgaria từ ngày 16 đến ngày 19 tháng 5 năm 1989 Bài toán 1 Cho trước 2*N hộp nằm cạnh nhau trên cùng một hàng với N <= 5. Trong đó có hai hộp liền nhau trống rỗng, các hộp còn lại chứa N-1 vật "A" và N-1 vật "B". Ví dụ, với N = 5 ta có như sau: Quy tắc trao đổi: Chuyển các vật trong hai hộp liền nhau chứa đồ vật sang hai hộp rỗng, giữ nguyên vị trí các hộp. Yêu cầu Tìm cách hoán chuyển sao cho tất cả các hộp chứa vật A nằm bên trái các hộp chứa vật B, không cần biết các hộp rỗng nằm ở đâu. Bài toán đặt ra Hãy viết chương trình: 1. Xây dựng mô hình hoán chuyển các hộp với số hộp và trạng thái ban đầu của các hộp được nhập từ bàn phím. Mỗi hoán chuyển được nhập bằng số (thuộc từ 1 đến N-1) của hai hộp liền nhau đầu tiên sẽ được đổi chỗ cho các hộp rỗng. Chương trình phải tìm và báo cáo trạng thái các hộp sau khi hoán chuyển. 2. Cho trước hiện trạng các hộp, tìm ít nhất một cách hoán chuyển đạt mục tiêu cuối cùng của bài toán. Chương trình phải báo cáo cả trạng thái ban đầu và trạng thái hiện tại sau mỗi bước hoán chuyển. 3. Tìm những cách hoán chuyển để số hộp bị di chuyển ít nhất và vẫn đạt được mục đích. Bài toán 2 Các tầng trong một tòa nhà được đánh số tuần tự từ 0, 1, 2, , N (N<=15). Trong tòa nhà có tất cả K (1<=K<=4) thang máy. Thang máy được điều khiển từ một trung tâm và chỉ chấp nhận hai lệnh được nhập vào bằng cách bấm nút. Các nút ngoài thang máy (một nút ra lệnh lên và một nút ra lệnh xuống) có ở tất cả các tầng. Các nút trong (ra lệnh đến một tầng cụ thể) có trong mỗi thang máy. Hãy viết chương trình mô phỏng quá trình điều khiển thang máy với các lệnh sau: 1. Trong tòa nhà có một thang máy (K=1) và mỗi lần nó chỉ chấp nhận một lệnh. Các lệnh khác chỉ được chấp nhận khi lệnh trước đó được hoàn thành. 2. Trong tòa nhà có nhiều thang máy (K>=1). Mỗi thang máy chỉ chấp nhận lệnh từ nút trong nếu không có lệnh nào đang được xử lý. Thiết bị điều khiển có thể nhận nhiều lệnh cùng lúc. Các lệnh trong luôn được thang máy thực hiện mỗi khi ra lệnh. Thiết bị điều khiển sẽ chọn chiếc thang máy đang rỗi phù hợp nhất để thực hiện lệnh ngoài. 3. Xét trường hợp tương tự trong yêu cầu 2 với điều kiện các thang máy số chẵn chỉ có thể dừng ở các tầng số chẵn và các thang máy số lẻ chỉ dừng ở các tầng số lẻ. Tất cả các thang máy đều có thể dừng ở tầng 0. 4. Xét trường hợp trong yêu cầu 3 và giả sử tại mỗi thang máy có nhiều lệnh đang đợi thực hiện. Tất cả các lệnh trong đều được chấp nhận dù cho thang máy có rỗi hay không. Gợi ý: Tất cả các thang máy đều đồng bộ và tại một điểm thời gian, các thang máy đều ở các tầng cho trước nào đó. Trong một khoảng thời gian tiếp theo, một thang máy có thể đi lên đi xuống hay ở nguyên tầng cũ. Các lệnh có thể nhập vào bất cứ lúc nào, các lệnh có định dạng sau: a, Lệnh ngoài - <số tầng, hướng di chuyển (lên hoặc xuống)>; b, Lệnh trong - <số tháng máy, số tầng> Tại mỗi thời điểm có thể nhập nhiều lệnh hoặc không nhập lệnh nào. Tại mỗi thời điểm chương trình báo vị trí của mỗi chiếc thang máy. Thang máy đủ lớn và không bị quá tải. Chương trình phải điều khiển thang máy sao cho tối ưu nhất. Bài toán 3 Cho trước một nhóm N người. Mỗi người là bạn của hơn [N/2] người còn lại và là kẻ thù của không quá K người. Một người có một cuốn sách mà tất cả mọi người đều muốn đọc và thảo luận với một số người khác. Hãy viết chương trình: 1. Tìm cách truyền tay nhau cuốn sách sao cho tất cả mọi người đều được đọc nó một lần và chuyển nó cho bạn mình và cuối cùng cuốn sách về tay người chủ. 2. Chia nhóm người thành S tổ để thảo luận về cuốn sách. Mỗi người phải có không quá P kẻ thù trong cùng tổ. Giả sử S*P >= K. Bài toán 4 Xét đoạn văn bản được soạn thảo bằng các ký tự viết hoa /A-Z/ và 8 ký tự . , + - : / ? ! Đoạn văn bản đó được gửi qua kênh giao tiếp dưới dạng chuỗi byte. Số ký tự 1 trong mỗi byte phải là số chẵn. 1. Đưa ra cách mã hóa các ký tự trên bằng các chuỗi nhị phân sao cho cách mã hóa rõ ràng và số bit được gửi qua kênh giao tiếp là ít nhất. 2. Hãy viết chương trình: 2.1. Cho trước đoạn văn bản, hãy in ra đoạn văn bản dưới dạng một chuỗi các số thập lục phân. 2.2. Cho trước đoạn văn bản đã mã hóa nhận được, hãy giải mã và hiển thị đoạn văn bản lên màn hình. Bài toán 5 Xét một hình phẳng gồm n đỉnh, mỗi đỉnh đều bậc 3. Ví dụ: Để các đỉnh X,Y và Z liền kề đỉnh T. Ta nói Y là đỉnh lân cận trái và Z là đỉnh lân cận phải của T tính theo X, nếu góc XTZ nhỏ hơn góc XTY. Ví dụ, E là đỉnh lân cận phải và G là đỉnh lân cận trái của H tính theo A vì góc AHE nhỏ hơn góc AHG. Hãy viết chương trình: 1. Nhập tọa độ của các đỉnh và các cạnh của hình phẳng, hãy vẽ hình đó lên màn hình theo một tỷ lệ phù hợp. Các cạnh được biểu diễn bằng các đoạn thẳng. 2. Cho trước một cặp đỉnh X0 và X1 và một chuỗi các ký tự L và R. Hãy tìm một đường đi X0X1X2 Xn trên hình đó sao cho: - X0 và X1 là hai đỉnh bắt đầu; - Xi+1 là đỉnh lân cận trái hoặc đỉnh lân cận phải của Xi tính theo Xi-1 tuỳ theo ký tự thứ (i-2) trong chuỗi điều khiển là L và R. Ví dụ: Đường đi tìm được trong ví dụ trên với A và H là các đỉnh bắt đầu và chuỗi LRRLLR là AHGFEDCB. 3. Vẽ đường đi trong yêu cầu 2 lên màn hình. 4. Dùng một đỉnh bắt đầu và một đỉnh kết thúc, hãy vẽ một đường đi qua số đỉnh ít nhất, vẽ đường đi đó lên màn hình và báo cáo các đỉnh bắt đầu cùng chuỗi điều khiển tạo ra đường đi như trong yêu cầu 2. Bài toán 6 Cho trước một đa giác có 20 cạnh. Các cạnh được đánh số từ 1 đến 20. Hãy tìm đường đi trên hình đa giác 20 cạnh sao cho chỉ đến mỗi cạnh duy nhất 1 lần. Đường đi giá trị C được định nghĩa là tích vô hướng: trong đó fi là số cạnh đi qua ở bước thứ i. Chỉ có thể đi từ cạnh này sang cạnh khác nếu hai cạnh đó nằm lân cận. A. Hai cạnh lân cận nhau nếu có một đỉnh chung; B. Hai cạnh lân cận nhau nếu có một đỉnh chung hoặc có một điểm chung. Hãy tìm các đường đi có giá trị nhỏ nhất cho ví dụ trên. Chú ý: Vì tính phức tạp về thời gian và không gian của thuật toán nên bạn không cần tìm kết quả chính xác mà chỉ cần đưa ra một kết quả tương đối. Cuộc thi Olympiad TinhọcQuốctế lần thứ hai được tổ chức tại MINSK,BYELLORUSSIA năm 1990 Ngày thứ nhất Bài toán 1. Hãy lập chương trình biến đổi bảng số trong hình A thành bảng số trong hình B. Mỗi số trong một ô vuông có thể di chuyển đến một trong các ô trống khác; lúc này ô vuông chứa số đó sẽ trở thành trống. Bài toán 2 Trò chơi với các hộp, yêu cầu người chơi nối các chấm trên lưới. Người chơi hoàn thành một hộp sẽ ghi được 1 điểm và chuyển đến lượt người kia. Trò chơi kết thúc khi lưới được hoàn thành và người thắng cuộc là người nhiều điểm hơn. Chỉ cho phép nối khoảng cách giữa hai điểm theo hàng ngang và hàng dọc. Ví dụ dưới minh họa trò chơi giữa Red và Blue mới được hoàn thành một nửa: Lưới trong trò chơi được minh họa bằng ký tự R và B chỉ các dòng tương ứng Red và Blue điền được, còn số 0 chỉ dòng trống: Trò chơi được thu gọn lại dưới dạng một ma trận như sau: ROBR BRBBB BBRR ROROO OOOB BOOOO BORO OROOR OOOB 1. Hãy viết chương trình xét một ma trận như trên (là một lưới kích thước 5 x 5) và tìm số hộp ba chiều (theo bất kỳ hướng nào). Dữ liệu vào được lưu trong một tệp có 9r dòng minh họa r trò chơi, kết thúc phần mô tả mỗi trò chơi là một dòng chứa từ END. Chương trình báo cáo kết quả của mỗi ma trận trên một dòng: Ma trận r chứa x hộp ba chiều. 2. Sửa lại chương trình, tiếp tục trò chơi chỉ dành cho Blue. Hãy hoàn thành nhiều hộp nhất với một lần di chuyển. Không cần thực hiện lần di chuyển cuối cùng. Chương trình phải báo cáo: x hộp được hoàn thành. Lần di chuyển cuối cùng = L, C trong đó L và C là hàng và cột minh họa ký tự trong ma trận và x là số hộp mới được hình thành nhưng không nằm trong số hộp được hoàn thành trong lưới. Bài toán 3 Có N cuốn sách và 2 người A và B muốn đọc số sách đó. Các số nguyên dương A[I] và B[I] là khoảng thời gian cần thiết để người đọc A (hoặc B) đọc cuốn sách I, 1<=I<=N. Cả hai người đều bắt đầu đọc sách ở thời gian 0. Tại một thời điểm, hai người không đọc cùng một cuốn sách. Cho trước số nguyên K (2<=K<=N) và các cuốn sách được đánh số sao cho không người nào có thể bắt đầu đọc cuốn sách J, (2<=J<=K) cho đến khi cuốn sách J-1 được cả hai người đọc xong. Thứ tự đọc các cuốn sách khác là tuỳ ý. Hai người có thể không đọc liên tục tức là trong quá trình đọc sách, người đọc có thể dừng đọc ở một thời điểm nguyên nào đó sau đó lại tiếp tục từ thời điểm ngừng đó. Trong khoảng thời gian nghỉ đó, người đọc có thể đọc bất kì cuốn sách khác mà người đó chưa đọc xong hoặc đọc tiếp một cuốn sách mới (hoàn toàn chưa đọc gì) mà người đó được quyền đọc . 1. Dữ liệu vào được định dạng như sau: < ENTER N > > < ENTER K > > < ENTER: > < A[1] > > < B[1] > > < A[2] > > < B[2] > > < A[N] > > < B[N] > > 2. Hãy tìm thời gian T lớn nhất sao cho trước thời gian đó cả hai người đọc chưa đọc hết tất cả các cuốn sách; dữ liệu ra t ính giá trị T. 3. Hãy xây dựng lịch trình đọc sách cho mỗi người thỏa mãn tất cả các ràng buộc trên và quá trình đọc sách kết thúc ở thời gian T. Lịch trình đọc sách được định dạng như sau: < Book > < Start > < Finish > Bảng trên chứa tất cả các thời gian trong khi người A (hoặc B) đọc sách và số cuốn sách được đọc. 4. Đưa ra số lần giành quyền đọc sách của mỗi người. Hãy cố gắng giảm số lần giành quyền đọc. Bài toán 4 Cho trước số nguyên K. Một mảnh giấy được chia thành N ô (K<=N<=40). Hai người chơi chọn và lấy đi lần lượt K ô giấy trống liền nhau. Người chiến thắng là người lấy đi ô giấy cuối cùng. 1. Nhập giá trị N và xác định xem người chơi thứ nhất có chiến thắng được không. Đưa ra thông báo "Player 1 has winning strategy" hoặc "Player 1 doesn't have winning strategy". ('Người chơi thứ nhất có thể chiến thắng' hoặc 'Người chơi thứ nhất không thể chiến thắng'). 2. Với N cho trước, hãy xác định xem người chơi thứ nhất có thể chiến thắng không nếu lần chọn đầu tiên của anh ta được nhập từ bàn phím. 3. Hãy viết chương trình mô phỏng người chơi thứ hai với N cho trước và người thứ nhất đi trước. Các nước đi của người chơi thứ nhất được nhập từ bàn phím. Các nước đi được mô phỏng bằng chỉ số của ô giấy L (1<=L<=N-K+1). Các ô giấy từ L đến L+K-1 được chọn và lấy đi trong quá trình chơi. Sau mỗi nước đi, vị trí hiện thời của trò chơi được in ra theo mẫu: 1 2* 3* N Chỉ số được in ra ở phía trên, các ô giấy bị lấy đi được đánh dấu bằng biểu tượng '*'. Khi trò chơi kết thúc hãy in ra báo cáo 'Victory of Player 1 (Player 2)'. Khi nhập giá trị c ủa N và K, in ra 'N>' và 'K>'. Khi nhập nước đi hãy in ra 'Move of Player 1>'. Giả sử dữ liệu nhập vào là chính xác. Bài toán 5. [ PROLAN/M ] Giả sử công ty phần cứng NePhihhan đang phát triển một bộ vi xử lý mới mang tên RISC có khả năng xử lý một kiểu thông tin đơn giản - chuỗi ký tự - và thực hiện một lệnh thay thế đơn giản (tìm kiếm các chuỗi con và thay thế nó bằng các chuỗi con khác). Người ta sử dụng hai vùng bộ nhớ, một vùng chứa chương trình (danh sách các mô tả các thay thế), còn vùng kia (ta sẽ gọi là R với kích thước gần như không giới hạn) được dùng để lưu trữ dữ liệu vào, các kết quả trung gian và kết quả cuối cùng. Các chương trình điều khiển bộ vi xử lý được viết bằng ngôn ngữ được gọi là PROLAN/M. Trước khi mô tả chính thức, ta xét chương trình ví dụ dưới: (aa,b) (ba,a) (bc,a) (c,start) (d,) (b,finish) (,) Khi xử lý chuỗi dữ liệu vào 'abcabcd', chương trình in chuỗi dữ liệu ra 'finish', còn nội dung của R lần lượt là một trong các chuỗi abcabcd, aaabcd, babcd, abcd, aad, db, b, finish. Mô tả cú pháp chính thức của ngôn ngữ PROLAN/M (dùng "::=" để chỉ "được định nghĩa là" và ":" để chỉ "hoặc"): <'PROLAN/M'-program> ::= <substitut.sequence>(,) <substitut.sequence> ::= <substitution>: ::= <substitut.sequence><substitution> <substitution> ::= (<left part>,<right part>) <left-hand part> ::= <string> <right-hand part> ::= <string>:<empty> <string> ::= <string symbol>:<string><string symbol> <empty string> ::= <string symbol> ::= <any ASCII character except ',' , ')' > Sau khi chuỗi dữ liệu được nhập vào R, chương trình được thực hiện như sau: bộ vi xử lý tìm kiếm <substitution> đầu tiên trong <substitut.sequence> trong đó <left-hand part> là chuỗi con của chuỗi trong R. Nếu tìm kiếm thành công, <right-hand part> của cùng <substitution> sẽ thay thế chuỗi con tương ứng trong R (chuỗi tận cùng bên trái nếu kết quả tìm kiếm không là duy nhất). Thủ tục này được lặp lại từ đầu với giá trị R mới đến khi <left-hand part> trong <'PROLAN/M'-program> được tìm thấy là một chuỗi con với giá trị R hiện tại, đây là kết quả cuối cùng và quá trình xử lý kết thúc. Câu 1. Hãy viết và sửa lỗi một chương trình PROLAN/M chuyển một chuỗi kiểu <nat.nr1>+<nat.nr2>=? (trong đó <nat.nr1> và <nat.nr2> là các chuỗi số thập phân hiện thân là các số tự nhiên) thành một chuỗi kiểu <nat.nr1>+<nat.nr2>=<nat.nr3> chứa đựng phát biểu toán học đúng (<nat.nr1> và <nat.nr2> như nhau). Ví dụ, chuỗi 1990+123=? được chuyển thành 1990+123=2113 sau quá trình xử lý. Lưu chương trình của bạn vào tệp SUM.PRM. Câu 2. Viết chương trình sửa lỗi theo ngôn ngữ PROLAN/M thực hiện nhiệm vụ sau: (a) Lưu tên tệp văn bản theo ngôn ngữ PROLAN/M; (b) Tìm nội dung ban đầu của R; (c) Biểu diễn quá trình chuyển chuỗi dữ liệu vào bằng chương trình trong tệp văn bản; (d) hiển thị kết quả lên màn hình; (e) Tìm sơ đồ chuyển đổi. Bài toán 6 Cho trước các số nguyên a và n (n<100). Giả sử một ngôn ngữ lập trình tưởng tượng chứa chỉ lệnh và phép nhân. Hãy viết chương trình tạo 1 văn bản bằng ngôn ngữ đó cho biểu thức b=a^n, với số phép nhân ít nhất. Ví dụ dưới xét đoạn văn bản được tạo ra với n=13, trong đó giữa cặp dấu {} chứa chú giải: X1:=a; {=a} X2:=X1*X1; {=a^2} X3:=X2*X2; {=a^4} X4:=X3*X1; {=a^5} X5:=X3*X3; {=a^8} X6:=X5*X4; {=a^13} b:=X6; Ngày thi thứ hai Bài toán 1 Mỗi nhân viên bảo vệ trong một triển lãm nghệ thuật phải làm nhiệm vụ trong một khoảng thời gian. Chương trình bảo vệ được biểu diễn bằng các cặp [T1(i),T2(i)] - chỉ thời điểm bắt đầu và kết thúc ca làm việc của nhân viên bảo vệ thứ i. Cho trước một chương trình bảo vệ, hãy: (a) Kiểm tra xem có ít nhất hai người bảo vệ nào làm nhiệm vụ trong khoảng thời gian [0, EndTime]. Nếu điều kiện (a) không thỏa mãn, hãy (b) Xác định tất cả các khoảng thời gian thiếu nhân viên bảo vệ (ít hơn 2 người đang làm nhiệm vụ). (c) Xác định số nhân viên bảo vệ cần bổ sung ít nhất làm nhiệm vụ trong một khoảng thời gian bắt buộc theo chương trình bảo vệ, ví dụ, bổ xung nhân viên thỏa mãn điều kiện (a). INPUT (Tất cả thời gian đều là số nguyên tính bằng phút) EndTime - thời điểm kết thúc nhiệm vụ canh gác, triển lãm cần canh gác trong khoảng thời gian [0, EndTime]. N - số nhân viên bảo vệ. T1[i]. T2[i], i=1, , N - thời gian bắt đầu và kết thúc ca trực của nhân viên thứ i. Length - thời gian làm việc bắt buộc đối với một nhân viên bổ sung. OUTPUT (1) Câu trả lời cho yêu cầu (a) theo định dạng "Yes/No". (2) Nếu câu trả lời trước là "no", hãy kiệt kê các cặp số (k,1) - chỉ thời gian bắt đầu và kết thúc của tất cả các khoản thời gian thiếu nhân viên bảo vệ và số số nhân viên thiếu trong mỗi khoảng thời gian đó (0 hoặc 1 người). (3) Số nhân viên bổ sung và danh sách các thời gian bắt đầu và kết thúc trong khoảng thời gian bắt buộc của mỗi nhân viên bổ sung. Bài toán 2 N đoạn được đặt trên mặt phẳng theo tọa độ các điểm cuối, N>0. Các điểm cuối của một đoạn được biểu diễn bằng hai cặp (x1[i], y1[i]) và (x2[i], y2[i]), 1<=i<=N. Điểm cuối của một đoạn bất kỳ đều thuộc đoạn đó. Hãy viết chương trình để: 1. Biểu diễn dữ liệu vào theo mẫu <Nhập giá trị N số đoạn :> <Nhập tọa độ của đoạn thứ i:> x1[1] > y1[1] > x2[1] > y2[1] > ::: ::: 2. Hãy tìm đường thẳng có chứa các điểm chung với nhiều đoạn thẳng nhất có thể. Báo cáo kết quả theo thứ tự tăng dần số đoạn thẳng chứa các điểm chung với đ ường thẳng này. Bài toán 3 Các điểm nút đánh số từ 1 đến N (N<=50) được nối với nhau bằng một hệ thống đường phố, trong đó mỗi đường phố đều có chiều bằng 1. Các đường phố có độ cao khác nhau và chỉ cắt nhau ở các điểm nút. Tại thời điểm ban đầu 0 có một số robot ở một số nút. Tổng số robot là M (M = 2 hoặc 3). Các robot di chuyển liên tục từ nút này đến khác một cách độc lập nhau và có thể thay đổi hướng di chuyển tại các nút. Các robot không được dừng lại. Vận tốc của robot thứ i là speed[i] (speed[i] = 1 hoặc 2). Các robot được điều khiển theo cách sao cho tổng thời gian để các robot gặp nhau là ít nhất. Hãy xác định thời gian T nhỏ nhất để sau đó tất cả các robot có thể gặp nhau tại 1 điểm, hoặc nếu không xác định thời gian T nhỏ nhất để các robot không thể gặp nhau tại cùng một điểm với bất kỳ thời gian t >= 0 nào. Định dạng dữ liệu vào như sau: <Nhập vào N:> <Nhập số đường phố K:> < Đường 1 nối với các điểm:> < Đường K nối với các điểm:> (Các cặp điểm được nhập vào: I J) <Nhập số robot M:> <Vận tốc của robot 1:> <Vận tốc của robot 1:> <Vị trí ban đầu của robot 1:> <Vị trí ban đầu của robot 1:> (Tất cả các số trên đều là số nguyên không âm) Định dạng dữ liệu ra như sau: <Thời gian = > Bài toán 4 Tất cả các con phố của một thành phố dạng hình chữ nhật nằm trên một vùng không bằng phẳng. Các con phố được ký hiệu từ Nam ngược lên Bắc (các phố N) hoặc từ Tây sang Đông (các phố M), do đó thành phố được chia thành các ô vuông với kích thước đều bằng 1. Các đoạn phố nằm giữa hai điểm giao liền nhau chỉ chạy theo xuống hoặc lên hoặc có thể nằm ngang. Ma trận K[y,x] (kích thước M x N) chứa độ cao của các điểm giao cắt so với mực nước biển. Hãy viết chương trình thực hiện: 1. Nhập kích thước ma trận M và N. 2. Nhập các phần tử của ma trận H[i,j]; (i=1,M , j=1,N). 3. Nhập tọa độ của hai điểm giao A và B. 4. Trả lời câu hỏi: Có thể đi từ A sang B hoặc từ B sang A mà chỉ đi theo hướng xuống? Nếu câu trả lời với dữ liệu câu 3 là luôn khẳng định, chương trình còn phải: 5. Xác định ít nhất một đường đi như vậy và hiển thị tọa độ của điểm giao lên màn hình. 6. Xác định tất cả các đường đi như vậy. [...]... có tên "C:\IOI\DAY-2\423-PROG.xxx" Phần mở rộng xxx là: - BAS với chương trình BASIC, C với chương trình C, - LCN với chương trình LOGO, PAS với chương trình PASCAL Đây là cuộc thi Olympiad Quốc tế môn Tinhọc lần thứ năm Đềthi ngày thứ nhất Bài toán 1- Chuỗi hạt (The necklace of beads) Bạn có một chuỗi hạt gồm n hạt (n . hai trình dược viên đều có khoảng thời gian rỗi như nhau, A sẽ thực hiện cuộc gặp đó. Kết quả ra gồm hai danh sách các cuộc gặp. Cuộc thi Olympiad Quốc tế môn Tin học lần thứ tư tổ chức. bạn không cần tìm kết quả chính xác mà chỉ cần đưa ra một kết quả tương đối. Cuộc thi Olympiad Tin học Quốc tế lần thứ hai được tổ chức tại MINSK,BYELLORUSSIA năm 1990 Ngày thứ nhất Bài. độ của điểm giao lên màn hình. 6. Xác định tất cả các đường đi như vậy. Cuộc thi Olympiad Quốc tế môn Tin học lần thứ ba tổ chức tại ATHENS, GREECE từ ngày 19 đến ngày 25 tháng 5 năm 1991