Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
346,96 KB
Nội dung
140 130. MÃLIÊNHOÀN M ỗ i ô trên bàn c ờ t ổ ng quát kích th ướ c nxn đượ c mã hoá b ằ ng các ký hi ệ u sau: • ".": Ô t ự do • "#": Ô c ấ m • "$": Ô t ự do có m ộ t quân mã đ ang đứ ng • "@": Ô t ự do t ươ ng ứ ng v ớ i m ộ t v ị trí t ậ p k ế t Độ i hình các quân mã đượ c g ọ i là "liên hoàn" n ế u chúng t ạ o thành m ộ t mi ề n liên thông theo quan h ệ mã giao chân. M ộ t l ệ nh hành quân là m ộ t phép di chuy ể n độ i hình các quân mã tho ả mãn: • M ỗ i quân mã có th ể đứ ng yên ho ặ c th ự c hi ệ n đ úng m ộ t n ướ c đ i theo lu ậ t c ờ • Sau l ệ nh hành quân: ♦ Các quân mã ch ỉ n ằ m trên các ô t ự do ♦ M ỗ i ô ch ứ a không quá m ộ t quân mã ♦ Toàn độ i hình các quân mã ph ả i liên hoàn. Yêu cầu: Hãy tìm một số hữu hạn các lệnh hành quân để chuyển đội hình các quân mã về các ô @ ! Càng ít lệnh bao nhiêu càng tốt ! Dữ liệu: Vào t ừ file v ă n b ả n KMOVE.INP • Dòng 1: Ch ứ a s ố n • n dòng ti ế p theo, dòng th ứ i ch ứ a n ký t ự , ký t ự th ứ j là ký hi ệ u t ươ ng ứ ng v ớ i ô (i, j) Kết quả : Ghi ra file v ă n b ả n KMOVE.OUT G ồ m m ộ t s ố dòng, m ỗ i dòng ghi m ộ t l ệ nh hành quân: g ồ m các b ộ 4 s ố x 1 , y 1 , x 2 , y 2 t ượ ng tr ư ng cho n ướ c đ i c ủ a m ộ t quân mã t ừ ô (x 1 , y 1 ) đế n ô (x 2 , y 2 ) Các số trên một dòng của Output file ghi cách nhau ít nhất một dấu cách Ràng buộc: Tr ạ ng thái ban đầ u c ủ a bàn c ờ đượ c cho để luôn t ồ n t ạ i ph ươ ng án th ự c hi ệ n yêu c ầ u trên. 2 ≤ n ≤ 100; 1 ≤ S ố ô $ = S ố ô @ ≤ 100; T ậ p các ô $ c ũ ng nh ư t ậ p các ô @ đề u là độ i hình mãliên hoàn. Ví dụ: KMOVE.INP KMOVE.OUT 6 $ @#. $ . $ #@# # # # @## 3 3 4 5 4 1 3 3 4 5 6 4 3 3 4 5 2 1 3 3 4 5 2 4 3 3 4 5 141 131. TUYỂN NHÂN CÔNG Có n công vi ệ c c ầ n th ự c hi ệ n và r lo ạ i th ợ . Th ợ lo ạ i i có th ể không làm đượ c vi ệ c j ho ặ c làm đượ c v ớ i chi phí là c ij . Giả sử đã có sẵn m thợ hãy tìm cách tuyển thêm một số ít nhất thợ để giao cho mỗi thợ làm một việc sao cho có thể hoàn thành được tất cả các công việc. Nếu có nhiều cách tuyển thoả mãn yêu cầu trên thì chỉ ra cách tuyển có tổng chi phí thực hiện các công việc (trên phép phân công tối ưu) là cực tiểu. Dữ liệu: Vào t ừ file v ă n b ả n ASSIGN.INP • Dòng 1: Ch ứ a ba s ố m, n, r (1 ≤ m, n, r ≤ 400) • Dòng 2: Ch ứ a m s ố , s ố th ứ k là lo ạ i c ủ a th ợ th ứ k trong m th ợ đ ã có • Các dòng ti ế p theo, m ỗ i dòng ghi ba s ố i, j, c ịj cho bi ế t lo ạ i th ợ i có th ể làm đượ c vi ệ c j v ớ i chi phí c ij (0 ≤ c ij ≤ 10000) Các số trên một dòng của Input file cách nhau ít nhất một dấu cách Kết quả: Ghi ra file v ă n b ả n ASSIGN.OUT • Dòng 1: Ghi s ố th ợ c ầ n thêm và chi phí phép phân công t ố i thi ể u • n dòng ti ế p theo, dòng th ứ i ghi lo ạ i th ợ đượ c giao th ự c hi ệ n vi ệ c i Ràng buộc: M ỗ i vi ệ c có ít nh ấ t m ộ t lo ạ i th ợ có th ể th ự c hi ệ n Ví dụ: ASSIGN.INP ASSIGN.OUT ASSIGN.INP ASSIGN.OUT 10 4 6 1 3 5 5 5 5 5 5 5 5 1 1 10 1 2 10 1 3 10 3 1 10 3 2 10 3 3 10 2 2 9 2 1 8 4 2 6 4 3 5 6 4 0 2 25 1 3 4 6 1 2 3 1 1 1 10 1 2 30 3 1 1 3 2 25 2 2 40 1 31 3 1 142 132. ĐƯỜNG TRÒN Trên m ặ t ph ẳ ng v ớ i h ệ tr ụ c to ạ độ Decattes vuông góc cho n đ i ể m xanh và n đ i ể m đỏ hoàn toàn phân bi ệ t. To ạ độ các đ i ể m này là s ố nguyên có giá tr ị tuy ệ t đố i ≤ 10000. Hãy chỉ ra một hình tròn nhỏ nhất thoả mãn: • Có tâm ở gốc toạ độ (0, 0) • Bên trong hình tròn (tính cả đường biên), số điểm xanh = số điểm đỏ ≥ ≥≥ ≥ 1 Dữ liệu: Vào t ừ file v ă n b ả n CIRCLE.INP • Dòng 1: Ch ứ a s ố nguyên d ươ ng n (n ≤ 5000) • n dòng ti ế p theo, m ỗ i dòng ch ứ a hoành độ và tung độ c ủ a m ộ t đ i ể m xanh • n dòng ti ế p theo, m ỗ i dòng ch ứ a hoành độ và tung độ c ủ a m ộ t đ i ể m đỏ Các số trên một dòng của Input file cách nhau ít nhất một dấu cách Kết quả: Ghi ra file v ă n b ả n CIRCLE.OUT Ch ỉ g ồ m m ộ t dòng ghi bán kính đườ ng tròn tìm đượ c (Ghi d ướ i d ạ ng s ố th ự c v ớ i 6 ch ữ s ố sau d ấ u ch ấ m th ậ p phân) CIRCLE.INP CIRCLE.OUT x y 0 4 2 0 0 3 0 -3 4 -4 1 1 0 2 -3 0 -3 3 3.000000 143 133. ĐOẠN 0 Cho dãy s ố nguyên a = (a 1 , a 2 , ., a n ), 1 ≤ n ≤ 10000; ∀i: -10000 ≤ a i ≤ 10000 Hãy tìm một đoạn dài nhất gồm các phần tử liên tiếp trong dãy a: a L, a L+1 , ., a H có tổng bằng 0 Dữ liệu: Vào t ừ file v ă n b ả n SZERO.INP • Dòng 1: Ch ứ a s ố n • Dòng 2: Ch ứ a n s ố a 1 , a 2 , ., a n theo đ úng th ứ t ự cách nhau ít nh ấ t m ộ t d ấ u cách Kết quả: Ghi ra file v ă n b ả n SZERO.OUT Ch ỉ g ồ m m ộ t dòng ghi hai s ố L và H cách nhau ít nh ấ t m ộ t d ấ u cách. Ví dụ: SZERO.INP SZERO.OUT 9 2 7 5 -3 -2 4 -9 -2 -1 2 8 Dữ liệu vào luôn được cho hợp lý để tồn tại một đoạn các phần tử liên tiếp trong dãy a có tổng bằng 0. 144 134. HỌC BỔNG Cho m ộ t danh sách n h ọ c sinh (1 ≤ n ≤ 200), m ỗ i h ọ c sinh có: • Tên: Là m ộ t xâu ký t ự độ dài không quá 25 (hai h ọ c sinh khác nhau có tên khác nhau) • Đ i ể m: Là s ố th ự c Cần chọn những học sinh có điểm cao nhất trong danh sách để trao học bổng, hãy cho biết tên những học sinh đó. Dữ liệu: Vào t ừ file v ă n b ả n SCHOLAR.INP • Dòng đầ u tiên: Ch ứ a s ố n • Trong n c ặ p dòng ti ế p theo, m ỗ i c ặ p g ồ m 2 dòng liên ti ế p ch ứ a thông tin v ề m ộ t h ọ c sinh ♦ Dòng 1: Ghi tên ♦ Dòng 2: Ghi đ i ể m Kết quả: Ghi ra file v ă n b ả n SCHOLAR.OUT G ồ m m ộ t s ố dòng, m ỗ i dòng ghi tên m ộ t h ọ c sinh đượ c h ọ c b ổ ng. SCHOLAR.INP SCHOLAR.OUT 4 A 7.9 B 9.0 C 8.1 D 9.0 B D 145 135. ĐOẠN DƯƠNG Cho dãy s ố nguyên a = (a 1 , a 2 , ., a n ), 1 ≤ n ≤ 60000; ∀i: -10000 ≤ a i ≤ 10000 Hãy tìm một đoạn dài nhất gồm các phần tử liên tiếp trong dãy a: a L, a L+1 , ., a H có tổng dương Dữ liệu: Vào t ừ file v ă n b ả n SEGMENT.INP • Dòng 1: Ch ứ a s ố n • Dòng 2: Ch ứ a n s ố a 1 , a 2 , ., a n theo đ úng th ứ t ự cách nhau ít nh ấ t m ộ t d ấ u cách Kết quả: Ghi ra file v ă n b ả n SEGMENT.OUT Ch ỉ g ồ m m ộ t dòng ghi hai s ố L và H cách nhau ít nh ấ t m ộ t d ấ u cách. Ràng buộc: Có ít nh ấ t m ộ t ph ầ n t ử d ươ ng trong a Chú ý : + V ớ i n <= 60000 , ch ươ ng trình ch ạ y b ằ ng TPX + V ớ i n <= 40000 , ch ươ ng trình ch ạ y b ằ ng Turbo Pascal. Ví dụ: SEGMENT.INP SEGMENT.OUT 10 -5 -2 -3 4 -6 7 -8 9 -1 -20 3 9 146 136. TÍN HIỆU GIAO THÔNG B ả n đồ m ộ t thành ph ố có: • m đườ ng ph ố (hai chi ề u) song song ch ạ y th ẳ ng theo h ướ ng Tây↔ Đ ông, để ti ệ n, ta g ọ i các đườ ng ph ố đ ó là H 1 , H 2 , ., H m theo th ứ t ự t ừ B ắ c xu ố ng Nam. • n đườ ng ph ố (hai chi ề u) song song ch ạ y th ẳ ng theo h ướ ng B ắ c↔Nam, ta g ọ i các đườ ng ph ố đ ó là V 1 , V 2 , ., V n theo th ứ t ự t ừ Tây sang Đ ông Hai đườ ng ph ố vuông góc b ấ t k ỳ c ắ t nhau t ạ o thành m ộ t nút giao thông. Ngo ạ i tr ừ hai nút giao thông n ằ m ở v ị trí góc Đ ông-Nam và góc Tây-B ắ c, nh ữ ng nút giao thông khác có th ể g ắ n đ èn tín hi ệ u giao thông hai tr ạ ng thái: 2. Tr ạ ng thái EW: Xanh h ướ ng Đ ông và Tây, Đỏ h ướ ng B ắ c và Nam. 3. Tr ạ ng thái NS: Xanh h ướ ng B ắ c và Nam, Đỏ h ướ ng Đ ông và Tây. M ỗ i đ èn tín hi ệ u có m ộ t chu k ỳ th ờ i gian riêng, c ứ sau m ỗ i chu k ỳ th ờ i gian đ ó, đ èn đổ i tr ạ ng thái m ộ t l ầ n. T ạ i th ờ i đ i ể m 0, các đ èn tín hi ệ u đề u ở tr ạ ng thái 0 (EW). Để gi ữ an toàn, lu ậ t giao thông quy đị nh: Khi xe t ớ i m ộ t nút giao thông t ừ m ộ t h ướ ng nào đ ó đ úng vào th ờ i đ i ể m đ èn tín hi ệ u theo h ướ ng đ ó đ ang Đỏ hay chuy ể n sang Đỏ thì bu ộ c ph ả i d ừ ng l ạ i, đ úng vào th ờ i đ i ể m đ èn tín hi ệ u theo h ướ ng đ ó đ ang Xanh hay chuy ể n sang Xanh thì có th ể đ i th ẳ ng, r ẽ ph ả i hay r ẽ trái tu ỳ ý. Trên m ộ t đườ ng ph ố , th ờ i gian xe đ i gi ữ a hai nút giao thông liên ti ế p c ố đị nh là C đơ n v ị th ờ i gian. Yêu cầu: Biết sơ đồ giao thông và các đèn tín hiệu, có hai xe xuất phát cùng thời điểm S, xe thứ nhất xuất phát tại góc Tây-Bắc, xe thứ hai xuất phát tại góc Đông-Nam và hẹn cùng tới một nút giao thông nào đó. Hãy tìm điểm hẹn và hành trình để hai xe gặp nhau sớm nhất có thể (Xe đến trước có thể chờ xe đến sau tại điểm hẹn) Dữ liệu: Vào t ừ file v ă n b ả n TRAFFIC.INP • Dòng 1: Ch ứ a b ố n s ố t ự nhiên m, n, C, S (1 ≤ m, n, C ≤ 100; 0 ≤ S ≤ 10000) • m dòng ti ế p theo, dòng th ứ i ch ứ a n s ố t ự nhiên ≤ 100, s ố th ứ j là chu k ỳ c ủ a đ èn tín hi ệ u n ằ m ở giao đ i ể m c ủ a đườ ng H i và V j . (Quy ướ c r ằ ng chu k ỳ b ằ ng 0 t ươ ng ứ ng v ớ i m ộ t nút giao thông không có đ èn tín hi ệ u) Các s ố trên m ộ t dòng c ủ a Input File đượ c ghi cách nhau ít nh ấ t m ộ t d ấ u cách. Kết quả : Ghi th ờ i đ i ể m h ẹ n và hành trình c ủ a hai xe ra file v ă n b ả n TRAFFIC.OUT: • Dòng 1: Ghi th ờ i đ i ể m h ẹ n • Dòng 2: Ghi m ộ t dãy ký t ự , ký t ự th ứ p ∈ {E, W, S, N} cho bi ế t h ướ ng đ i t ừ nút giao thông th ứ p đế n nút giao thông th ứ p + 1 trên hành trình c ủ a xe th ứ nh ấ t là Đ ông, Tây, Nam hay B ắ c (theo đ úng th ứ t ự đ ó) • Dòng 3: Ghi m ộ t dãy ký t ự , ký t ự th ứ q ∈ {E, W, S, N} cho bi ế t h ướ ng đ i t ừ nút giao thông th ứ q đế n nút giao thông th ứ q + 1 trên hành trình c ủ a xe th ứ hai. Ví dụ: TRAFFIC.INP TRAFFIC.OUT TRAFFIC.INP TRAFFIC.OUT 3 4 99 0 0 1 2 1 2 1 2 0 3 1 2 0 297 SEE WN 3 3 99 2 0 1 2 1 2 2 1 1 0 201 EE NN W E N S 147 137. PHỦ Cho m ộ t đồ th ị vô h ướ ng G = (V, E) có n đỉ nh và m c ạ nh, không có đỉ nh cô l ậ p Hãy chọn ra một tập ít nhất các cạnh để tất cả các đỉnh của đồ thị đều là đầu mút của ít nhất một cạnh trong tập đã chọn ! Dữ liệu: Vào t ừ file v ă n b ả n COVER.INP • Dòng 1: Ch ứ a hai s ố n, m là s ố đỉ nh và s ố c ạ nh c ủ a đồ th ị (1 ≤ n ≤ 100) • m dòng ti ế p theo, m ỗ i dòng ghi hai s ố u, v t ươ ng ứ ng v ớ i m ộ t c ạ nh (u, v) c ủ a đồ th ị Kết quả: Ghi ra file v ă n b ả n COVER.OUT • Dòng 1: Ghi s ố k là s ố c ạ nh đượ c ch ọ n • k dòng ti ế p theo, m ỗ i dòng ghi ch ỉ s ố hai đỉ nh đầ u mút c ủ a m ộ t c ạ nh đượ c ch ọ n Chú thích nho nhỏ : Bài này sử dụng kiến thức không phổ biến ! Bởi vậy không có gì là khó hiểu nếu như bạn không làm được ! Ví dụ: COVER.INP COVER.OUT 10 11 1 2 6 1 2 4 2 8 3 4 3 6 5 6 5 9 5 10 7 8 9 7 5 6 1 2 8 3 4 5 10 9 7 148 138. DI CHUYỂN RÔ-BỐT Cho m ộ t đồ th ị có h ướ ng G g ồ m n đỉ nh và m cung, hai con Rô-b ố t đứ ng t ạ i hai đỉ nh nào đ ó. Yêu cầu: Chuyển nhanh nhất hai con Rô-bốt đến gặp nhau tại một đỉnh của đồ thị, biết rằng cả hai con Rô-bốt chỉ được chạy theo các cung định hướng và không được dừng lại cho tới lúc gặp nhau tại một đỉnh nào đó. Thời gian Rô-bốt đi qua một cung bất kỳ luôn là 1 đơn vị thời gian Dữ liệu: Vào t ừ file v ă n b ả n RMOVE.INP • Dòng 1: ch ứ a 4 s ố nguyên d ươ ng n, m, A, B. Ở đ ây A và B l ầ n l ượ t là v ị trí c ủ a con rô-b ố t th ứ nh ấ t và v ị trí c ủ a con rô-b ố t th ứ hai, 2 ≤ n ≤ 250, 1 ≤ m ≤ 60000. • m dòng ti ế p theo, m ỗ i dòng ch ứ a hai s ố u, v t ươ ng ứ ng v ớ i m ộ t cung (u, v) c ủ a đồ th ị Kết quả: Ghi ra file v ă n b ả n RMOVE.OUT • Dòng 1: Ghi th ờ i gian tính t ừ lúc b ắ t đầ u di chuy ể n cho t ớ i lúc hai rô-b ố t g ặ p nhau • Dòng 2: Ghi hành trình c ủ a con rô-b ố t th ứ nh ấ t, theo đ úng th ứ t ự t ừ đỉ nh A t ớ i đỉ nh g ặ p nhau • Dòng 3: Ghi hành trình c ủ a con rô-b ố t th ứ hai, theo đ úng th ứ t ự t ừ đỉ nh B t ớ i đỉ nh g ặ p nhau Các số trên một dòng của Input/Output file cách nhau ít nhất một dấu cách Ràng buộc: Luôn có ph ươ ng án th ự c hi ệ n yêu c ầ u trên Giới hạn : Ch ươ ng trình ch ạ y trên Turbo Pascal. Ví dụ: RMOVE.INP RMOVE.OUT 4 5 1 2 1 2 2 1 2 4 3 2 4 3 3 1 2 1 2 2 4 3 2 21 4 3 149 139. TRẠM NGHỈ M ộ t toán k ỵ s ĩ b ỏ ng ự a đ i thám hi ể m m ộ t khu r ừ ng và đế n khi tr ờ i t ố i, h ọ mu ố n đ i v ề nh ữ ng tr ạ m ngh ỉ . R ấ t may là các k ỵ s ĩ đề u có b ả n đồ khu r ừ ng trong tay, nh ờ đ ó có th ể xác đị nh chính xác v ị trí c ủ a h ọ , các tr ạ m ngh ỉ , các khu v ự c có thú d ữ và t ấ t nhiên c ả v ị trí c ủ a các con ng ự a (n ơ i h ọ đ ã b ỏ l ạ i). M ỗ i k ỵ s ĩ s ẽ ph ả i ch ọ n cho mình m ộ t con ng ự a, m ộ t tr ạ m ngh ỉ và dùng còi siêu âm g ọ i con ng ự a đ ó v ề tr ạ m ngh ỉ đ ã ch ọ n. M ỗ i tr ạ m ngh ỉ ch ỉ đủ ch ỗ cho m ộ t k ỵ s ĩ và m ộ t con ng ự a. Giả sử rằng có m trạm nghỉ, n kỵ sĩ, n con ngựa và bạn là một trong số những kỵ sĩ đó. Hãy vạch ra hành trình cho các kỵ sĩ và các con ngựa để thời gian tính từ lúc bắt đầu cho tới khi tất cả các con ngựa và các kỵ sĩ về tới trạm nghỉ tương ứng là nhỏ nhất. B ả n đồ khu r ừ ng đượ c mã hoá b ằ ng m ộ t l ướ i ô vuông đơ n v ị kích th ướ c pxq. Trên m ỗ i ô ghi m ộ t trong 5 ký hi ệ u: • "%": Đị a đ i ể m có thú d ữ • ".": Đị a đ i ể m an toàn (không có thú d ữ ) • "&": Đị a đ i ể m an toàn có m ộ t con ng ự a đ ang đứ ng • "*": Đị a đ i ể m an toàn có m ộ t k ỵ s ĩ đ ang đứ ng • "@": Tr ạ m ngh ỉ V ớ i 1 đơ n v ị th ờ i gian, m ỗ i k ỵ s ĩ và m ỗ i con ng ự a có th ể th ự c hi ệ n m ộ t b ướ c đ i. Nhìn trên b ả n đồ , m ỗ i b ướ c đ i c ủ a m ộ t k ỵ s ĩ là m ộ t phép di chuy ể n t ừ ô đ ang đứ ng sang m ộ t trong các ô k ề c ạ nh, b ướ c đ i này đượ c mã hoá b ằ ng m ộ t trong 4 ký hi ệ u {E, W, S, N}. M ỗ i b ướ c đ i c ủ a m ộ t con ng ự a là m ộ t phép di chuy ể n nh ư m ộ t n ướ c đ i c ủ a quân mã theo lu ậ t c ờ , b ướ c đ i này đượ c mã hoá b ằ ng m ộ t trong 8 ký hi ệ u {1, 2, 3, 4, 5, 6, 7, 8}. Các k ỵ s ĩ c ũ ng nh ư các con ng ự a không đượ c đ i t ớ i ô có thú d ữ hay đ i ra ngoài b ả n đồ . Các ký hi ệ u t ươ ng ứ ng v ớ i các h ướ ng đ i đượ c ch ỉ ra trong hình d ướ i đ ây: 6 7 N 5 8 W * E & S 4 1 3 2 Dữ liệu: Vào t ừ file v ă n b ả n HORSEMAN.INP • Dòng đầ u tiên: Ch ứ a hai s ố p, q cách nhau 1 d ấ u cách • p dòng ti ế p theo, dòng th ứ i ch ứ a q ký t ự , ký t ự th ứ j là ký hi ệ u ghi trên ô (i, j) c ủ a b ả n đồ Kết quả: Ghi ra file v ă n b ả n HORSEMAN.OUT • Dòng đầ u tiên: Ghi th ờ i gian nhanh nh ấ t để t ấ t c ả các k ỵ s ĩ và các con ng ự a v ề t ớ i tr ạ m ngh ỉ t ươ ng ứ ng • 2n dòng ti ế p theo, c ứ hai dòng ghi hành trình c ủ a m ộ t k ỵ s ĩ : ♦ Dòng 1: Ghi hai s ố x, y cách nhau m ộ t d ấ u cách là v ị trí ô (x, y) c ủ a m ộ t k ỵ s ĩ ♦ Dòng 2: Ghi m ộ t dãy ký t ự t ượ ng tr ư ng cho m ộ t dãy các b ướ c đ i c ủ a k ỵ s ĩ t ừ ô (x, y) theo đ úng th ứ t ự này đế n m ộ t tr ạ m ngh ỉ . • 2n dòng ti ế p theo, c ứ hai dòng ghi hành trình c ủ a m ộ t con ng ự a: ♦ Dòng 1: Ghi hai s ố u, v cách nhau m ộ t d ấ u cách là v ị trí ô (u, v) c ủ a m ộ t con ng ự a ♦ Dòng 2: Ghi m ộ t dãy ký t ự t ượ ng tr ư ng cho m ộ t dãy các b ướ c đ i c ủ a con ng ự a t ừ ô (u, v) theo đ úng th ứ t ự này đế n m ộ t tr ạ m ngh ỉ . Ràng buộc: • 5 ≤ p, q ≤ 100 • 1 ≤ n = s ố ô "&" = s ố ô "*" ≤ 100 • n ≤ m = s ố ô "@" ≤ 100 • Luôn luôn có ph ươ ng án th ự c hi ệ n yêu c ầ u c ủ a đề bài [...]... Xét đồ thị vô hướng liên thông G = (V, E) có n đỉnh và m cạnh, các đỉnh được đánh số từ 1 tới n Hãy bỏ đi một số ít nhất các cạnh của đồ thị sao cho: 1 Đồ thị còn lại có đúng 2 thành phần liên thông 2 Đỉnh 1 và đỉnh n không thuộc cùng một thành phần liên thông 3 Trong các phương án thoả mãn cả hai điều kiện trên, hãy chỉ ra phương án mà độ chênh lệch về số đỉnh giữa hai thành phần liên thông đó là nhỏ... giữa hai ô (x1, y1) và (x2, y2) quy ước là x1 - x2 + y1 - y2 Hãy chỉ ra cách đặt các tảng đá thoả mãn yêu cầu của cả hai người Dữ liệu: Vào từ file văn bản FAREWELL.INP • Dòng 1: Chứa 3 số n, k, m (5 ≤ n ≤ 20; 1 ≤ k, m ≤ n) cách nhau đúng 1 dấu cách • n dòng tiếp theo, dòng thứ i chứa n ký tự liên tiếp mà ký tự thứ j là ký hiệu ô (i, j) của lưới Kết quả: Ghi ra file văn bản FAREWELL.OUT • Dòng... Dòng 1: Chứa hai số m, n (1 ≤ m , n ≤ 200) cách nhau ít nhất một dấu cách • m dòng tiếp theo, dòng thứ i chứa n ký tự liên tiếp, ký tự thứ j là ký hiệu ô (i, j) của bảng Kết quả: Ghi ra file văn bản GRID.OUT • Dòng 1: Ghi số đèn có thể bật thêm • m dòng tiếp theo, dòng thứ i ghi n ký tự liên tiếp, ký tự thứ j là ký hiệu ô (i, j) của bảng sau khi đã bật sáng thêm các đèn Ví dụ: GRID.INP 4 5 + * ++.+ .++... Chứa 4 số m, n, x, y (1 < x < m ≤ 300; 1 < y < n ≤ 300) • m dòng tiếp theo, dòng thứ i chứa n số mà số thứ j là số ghi tại ô (i, j) của lưới Kết quả: Ghi ra file văn bản ROLL.OUT Gồm một dòng chứa dãy liên tiếp các ký tự, ký tự thứ k có thể là L, R, U hoặc D tương ứng với phép lăn tại bước thứ k là lăn sang trái, lăn sang phải, lăn lên trên hay lăn xuống dưới Ví dụ ROLL.INP 9 6 3 3 0 0 0 0 0 0 0 2 4... văn bản FAREWELL.OUT • Dòng 1: Ghi số tảng đá phải đặt, trong trường hợp không có phương án thì dòng này ghi số -1 • Trong trường hợp có phương án khả thi thì n dòng tiếp theo, dòng thứ i ghi n ký tự liên tiếp mà ký tự thứ j là ký hiệu ô (i, j) của lưới sau khi đã đặt đá Lưu ý rằng ta vẫn dùng ký hiệu * cho những tảng đá đã có và dùng ký hiệu "#" cho những tảng đá đặt thêm Ví dụ FAREWELL.INP 7 4 4... 6 2 3 4 2 1 3 2 4 7 3 2 1 3 1 4 4 1 2 4 3 9 4 2 8 output 65 3 4 2 1 2 4 3 2 1 4 1 3 156 I hope and expect that you will have much success in IOI 2002 157 146 CÂY KHUNG NH NH T Cho đơn đồ thị vô hướng liên thông G = (V, E) gồm n đỉnh và m cạnh, các đỉnh được đánh số từ 1 tới n và các cạnh được đánh số từ 1 tới m Hãy tìm cây khung nhỏ nhất của đồ thị G Dữ liệu: Vào từ file văn bản MST.INP • Dòng 1: Chứa... 3 y 3 2 1 0 1 2 x Giới hạn thời gian: 1 giây 159 148 D Y ĐƠN ĐI U TĂNG DÀI NH T Cho dãy số nguyên dương a = (a1, a2, , an) (1 ≤ n ≤ 10000; 1 ≤ ai ≤ 10000) Hãy tìm dãy chỉ số dài nhất i1, i2, , ik thoả mãn: • 1 ≤ i1 < i2 < < ik ≤ n • ai1 < ai2 < < aik Dữ liệu: Vào từ file văn bản INCSEQ.INP • Dòng 1: Chứa số n • Dòng 2: Chứa n số a1, a2, , an Kết quả: Ghi ra file văn bản INCSEQ.OUT • Dòng 1: Ghi số... có cung đi vào Mỗi cung (u, v) của mạng được gán một số nguyên dương c(u, v) là khả năng thông qua của cung đó Một luồng cực đại trên mạng là một cách gán cho mỗi cung (u, v) một số nguyên f(u, v) thoả mãn: i) f(u, v) ≤ c(u, v) (∀(u, v)∈E) ii) ∑ f (u , v) = ∑ f ( v, w ) (∀v∈V) ( u , v )∈E ( v , w )∈E iii)Giá trị luồng = ∑ f (1, u ) = ∑ f ( v, n ) là lớn nhất có thể (1, u )∈E ( v , n )∈E Hãy tìm luồng... mỗi thợ làm đúng một việc sao cho có thể thực hiện tất cả n công việc Giả sử đã có sẵn m thợ hãy tìm cách tuyển thêm một số ít nhất thợ để có thể thực hiện phép phân công Nếu có nhiều cách tuyển thoả mãn yêu cầu trên thì chỉ ra cách tuyển có tổng chi phí thực hiện các công việc (trên phép phân công tối ưu) là cực tiểu Dữ liệu: Vào từ file văn bản ASSIGN.INP • Dòng 1: Chứa ba số m, n, r (1 ≤ m, n, r... ghi đủ n ký hiệu trên hàng thứ i của bản đồ theo đúng thứ tự từ trái qua phải Các ký hiệu được ghi liền nhau Kết quả: Ghi ra file văn bản CARGO.OUT • Dòng 1: Ghi số công cần thực hiện • Dòng 2: Một dãy liên tiếp các ký tự ∈ {L, R, U, D, +, -} thể hiện dãy các động tác cần thực hiện của Rô bốt Ràng buộc: Luôn có phương án thực hiện yêu cầu đề bài Ví dụ: CARGO.INP 6 8 3 ### ### *$ ## ####.### #### ## #@ . t mi ề n liên thông theo quan h ệ mã giao chân. M ộ t l ệ nh hành quân là m ộ t phép di chuy ể n độ i hình các quân mã tho ả mãn: • M ỗ i quân mã có th. hành quân: ♦ Các quân mã ch ỉ n ằ m trên các ô t ự do ♦ M ỗ i ô ch ứ a không quá m ộ t quân mã ♦ Toàn độ i hình các quân mã ph ả i liên hoàn. Yêu cầu: Hãy