Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
287,22 KB
Nội dung
129 119. THÁPGẠCH Một bộ đồ chơi có n viên gạch nhựa, mỗi viên gạch có chiều cao = chiều rộng = 1, chiều dài = 2. Một thápgạch là một cách xếp các viên gạch thành các tầng so le thoả mãn : • Tháp có độ cao H ( gồm H tầng ) • Tầng 1 có M viên gạch • Mỗi tầng có ít nhất 1 viên gạch và hai tầng liên tiếp hơn kém nhau đúng 1 viên gạch • Tổng số gạch phải sử dụng không vượt quá n Ví dụ dưới đây có thể coi là một tháp với H = 6, M = 2, n ≥ 13 Ta có thể mã hoá mỗi tháp bằng một dãy có H số nguyên dương mà số nguyên thứ i là số gạch của tầng i (Như ví dụ trên là tháp tương ứng với dãy số 2, 3, 2, 3, 2, 1), khi đó các tháp được đánh số bắt đầu từ 1 theo thứ tự từ điển của dãy số tương ứng. Yêu cầu: Cho 3 số n, H, M (1 ≤ ≤≤ ≤ n ≤ ≤≤ ≤ 32767; 1 ≤ ≤≤ ≤ H ≤ ≤≤ ≤ 30; 1 ≤ ≤≤ ≤ M ≤ ≤≤ ≤ 10), hãy đếm số tháp có thể. Và với một số nguyên dương K, hãy cho biết dãy số tương ứng với tháp thứ K. Các số luôn được cho hợp lý để có thể tìm ra nghiệm. 130 120. THU THUẾ Hai nước láng giềng X và Y thiết lập quan hệ thương mại và họ đã thoả thuận với nhau một hiệp định chung. Theo hiệp định này, hàng ở một thành phố của nước X sẽ có thể chuyển thẳng tới một thành phố của nước Y và ngược lại nếu như có đường đi (đường bộ, đường biển, đường không .) giữa hai thành phố này. Hai nước muốn thiết lập một hệ thống trạm thu thuế tại các thành phố để mỗi chuyến hàng lưu chuyển giữa hai nước đều phải qua trạm thuế và số trạm thuế là ít nhất có thể được. Giả sử bạn biết được hệ thống giao thông giữa hai nước, hãy cho biết nên đặt các trạm thuế tại những thành phố nào. Dữ liệu: Vào từ file văn bản TAX.INP • Dòng 1: Chứa hai số nguyên dương m và n (m, n ≤ 600), ở đây m là số thành phố của nước X và n là số thành phố của nước Y • Các dòng tiếp theo, mỗi dòng ghi hai số nguyên dương i, j cho biết giữa thành phố i của nước X và thành phố j của nước Y có đường lưu chuyển hàng hoá. Kết quả: Ghi ra file văn bản TAX.OUT • Dòng 1: Ghi hai số P và Q theo thứ tự là số trạm thuế đặt tại nước X và nước Y • P dòng tiếp theo, mỗi dòng ghi chỉ số của một thành phố nước X sẽ đặt trạm thuế • Q dòng tiếp theo, mỗi dòng ghi chỉ số của một thành phố nước Y sẽ đặt trạm thuế 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 Ví dụ: TAX.INP TAX.OUT 5 5 1 1 1 2 1 3 2 3 3 3 4 4 4 5 5 4 2 2 1 4 3 4 Giới hạn: 512KB, 5 giây/1 test Nâng cao : Cài đặt bằng Turbo Pascal , giới hạn 256 KB, 30 giây/1 test và m,n <= 1000 131 121. PHÂN CÔNG Có m thợ và n công việc, các thợ đánh số từ 1 tới m và các việc đánh số từ 1 tới n. Mỗi thợ có khả năng thực hiện một số công việc nào đó. Khi giao việc cho các thợ thực hiện, đối với một người thợ thì họ sẽ thực hiện các công việc được giao một cách tuần tự và liên tục (sequence), làm mỗi việc mất một đơn vị thời gian. Nhưng đối với nhiều thợ thì các công việc của họ được thực hiện song song (paralell), việc của ai người đấy làm, không ảnh hưởng tới tiến độ của người khác. Hãy tìm các phân công công việc cho các thợ để tất cả các công việc được thực hiện, mỗi việc chỉ phân cho một thợ và thời gian hoàn thành tất cả các công việc là nhanh nhất. Nếu có nhiều phương án đều thoả mãn yêu cầu trên thì chỉ ra phương án mà số việc giao cho thợ làm ít nhất là nhiều nhất. Dữ liệu: Vào từ file văn bản ASSIGN.INP • Dòng 1: Chứa hai số nguyên dương m và n (1 ≤ m ≤ 200; 1 ≤ n ≤ 1000) • m dòng tiếp theo, dòng i chứa danh sách các công việc mà thợ i có thể thực hiện, có thêm một ký hiệu kết thúc là số 0. Kết quả: Ghi ra file văn bản ASSIGN.OUT • Dòng 1: Ghi từ YES hay NO tuỳ theo có tồn tại cách phân công để thực hiện tất cả các công việc hay không. • Nếu dòng 1 ghi từ YES: ♦ Dòng 2: Ghi thời gian nhanh nhất có thể để hoàn thành các công việc ♦ m dòng tiếp theo, dòng i ghi danh sách các công việc được phân cho thợ i, ghi thêm một ký hiệu kết thúc là số 0. Các số trên một dòng của Input/Output File ghi cách nhau ít nhất một dấu cách Ví dụ: ASSIGN.INP ASSIGN.OUT 4 10 1 2 3 4 5 0 4 5 6 7 8 0 1 2 3 4 5 7 8 9 0 1 2 3 4 5 6 7 8 9 10 0 YES 3 3 4 5 0 6 7 8 0 2 9 0 1 10 0 Giới hạn: 512KB, 5 giây/1 test ( chạy bằng TPX ). Nâng cao : Cài đặt bằng Turbo Pascal , 256 KB , 30 giây/1 test. N , M không thay đổi 132 122. XÂU CON Cho hai xâu ký tự A = A 1 A 2 .A m và B = B 1 B 2 .B n . Hai xâu ký tự này chỉ gồm các chữ cái tiếng Anh. (1 ≤ n ≤ m ≤ 200). Giả thiết rằng có thể xoá đi một số ký tự của xâu A để được xâu B Hãy tìm một dãy chỉ số i 1 , i 2 , ., i n thoả mãn: • i 1 < i 2 < . < i n • B = A i 1 A i 2 .A i n • Trong các dãy chỉ số thoả mãn cả 2 điều kiện trên, hãy cho biết dãy chỉ số mà )ii(max k1k 1nk1 − + −≤≤ là nh ỏ nh ấ t có th ể Dữ liệu: Vào t ừ file v ă n b ả n SUBSTR.INP • Dòng 1: Ch ứ a xâu A • Dòng 2: Ch ứ a xâu B Kết quả: Ghi ra file v ă n b ả n SUBSTR.OUT Ch ỉ g ồ m 1 dòng ghi dãy ch ỉ s ố i 1 , i 2 , ., i n , hai s ố liên ti ế p cách nhau ít nh ấ t m ộ t d ấ u cách. Ví dụ: SUBSTR.INP SUBSTR.OUT fAzyxABlCiDkabc ABCD 6 7 9 11 133 123. LĂN SÚC SẮC Cho m ộ t l ướ i ô vuông đơ n v ị kích th ướ c mxn, trên m ỗ i ô ghi m ộ t s ố t ự nhiên ≤ 6. Có m ộ t con súc s ắ c (hình l ậ p ph ươ ng c ạ nh 1 đơ n v ị ) n ằ m t ạ i m ộ t ô (x, y) mang s ố 6. Các m ặ t con súc s ắ c đượ c ghi các s ố nguyên d ươ ng t ừ 1 đế n 6: m ặ t trên mang s ố 1, m ặ t bên h ướ ng v ề mép trên c ủ a l ướ i mang s ố 2, m ặ t bên h ướ ng v ề mép trái c ủ a l ướ i mang s ố 3, t ổ ng hai s ố ghi trên hai m ặ t đố i di ệ n b ấ t k ỳ luôn b ằ ng 7. (Xem hình v ẽ ) 1 2 3 1 2 3 4 3 4 1 6 6 6 6 3 4 1 2 Cho phép l ă n con súc s ắ c sang m ộ t trong 4 ô k ề c ạ nh. Sau m ỗ i phép l ă n nh ư v ậ y, m ặ t trên c ủ a súc s ắ c s ẽ tr ở thành m ặ t bên t ươ ng ứ ng v ớ i h ướ ng di chuy ể n và m ặ t bên theo h ướ ng di chuy ể n s ẽ tr ở thành m ặ t đ áy. M ộ t phép l ă n đượ c g ọ i là h ợ p l ệ n ế u nó luôn đả m b ả o s ố ghi ở ô súc s ắ c đ ang đứ ng và s ố ghi ở m ặ t đ áy c ủ a súc s ắ c b ằ ng nhau. Nh ư ví d ụ trên, ta có th ể l ă n lên trên, sang ph ả i hay sang trái nh ư ng không th ể l ă n xu ố ng d ướ i. Yêu cầu: Hãy chỉ ra một số hữu hạn các phép lăn hợp lệ để lăn con súc sắc ra một ô biên của lưới, nếu có nhiều phương án thực hiện thì chỉ ra phương án mà tổng các số ghi ở mặt trên của súc sắc sau mỗi bước di chuyển là cực tiểu. Dữ liệu: Vào t ừ file v ă n b ả n ROLL.INP • Dòng 1: Ch ứ a 4 s ố m, n, x, y (1 < x < m ≤ 80; 1 < y < n ≤ 80) • 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 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. Dữ liệu vào luôn đúng đắn để tồn tại giải pháp thực hiện 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 ROLL.OUT 9 6 3 3 0 0 0 0 0 0 0 0 2 4 0 0 1 4 6 6 6 6 0 0 2 3 0 0 0 0 0 1 0 0 0 0 0 4 0 0 0 0 0 6 0 0 0 0 0 3 0 0 0 0 0 1 0 0 URDDLULL Gi ớ i h ạ n: 300KB, 1 giây/1 test 134 124. VỆ SĨ M ộ t VIP n ọ có n v ệ s ĩ . V ệ s ĩ th ứ i có th ể b ả o v ệ cho VIP t ừ th ờ i đ i ể m L i đế n h ế t th ờ i đ i ể m R i . H ỏ i VIP c ầ n ít nh ấ t bao nhiêu v ệ s ĩ để trong kho ả ng th ờ i gian t ừ a t ớ i b, VIP luôn có ít nh ấ t k v ệ s ĩ bên mình. Dữ liệu: Vào t ừ file v ă n b ả n VIP.INP • Dòng 1: Ch ứ a hai s ố n, k • n dòng ti ế p theo, dòng th ứ i ghi hai s ố L i và R i 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 VIP.OUT • Dòng 1: Ghi s ố P là s ố v ệ s ĩ c ầ n g ọ i • P dòng ti ế p theo, m ỗ i dòng ghi ch ỉ s ố m ộ t v ệ s ĩ c ầ n g ọ i Ràng buộc: 1 ≤ ≤≤ ≤ n ≤ ≤≤ ≤ 100000; các số còn lại là số tự nhiên ≤ ≤≤ ≤ 10000 135 125. GIAO LƯU Cu ộ c thi giao l ư u "T ế t Ta Tin (TTT)" gi ữ a hai độ i SP và TH có n bàitoántin h ọ c, m ỗ i độ i có n h ọ c sinh tham d ự . Các bàitoán đượ c đ ánh s ố t ừ 1 đế n n và các h ọ c sinh c ủ a m ỗ i độ i c ũ ng đượ c đ ánh s ố t ừ 1 t ớ i n. H ọ c sinh c ủ a hai độ i đề u là nh ữ ng l ậ p trình viên xu ấ t s ắ c, tuy nhiên m ỗ i h ọ c sinh có th ể gi ả i quy ế t nh ữ ng bàitoán thu ộ c s ở tr ườ ng c ủ a mình hi ệ u qu ả h ơ n nh ữ ng bài khác. Hãy giúp thầy My tổ chức cuộc thi theo thể thức sau: • Chọn đúng n cặp đấu, mỗi cặp gồm 01 học sinh SP và 01 học sinh TH làm 01 bàitoán trong số những bàitoán này. • Bàitoán nào cũng được mang ra thi • Học sinh nào cũng được tham gia • Bàitoán cho cặp đấu bất kỳ phải thuộc sở trường của cả hai thí sinh trong cặp • Không chấm lại, cấm "à ừ", ngủ không quá 1 giây. Bi ế t r ằ ng luôn t ồ n t ạ i ph ươ ng án th ự c hi ệ n yêu c ầ u trên Dữ liệu: Vào t ừ file v ă n b ả n OLYMPIC.INP • Dòng 1: Ch ứ a hai s ố n, m (1 ≤ n ≤ m ≤ 255) • n dòng ti ế p theo, dòng th ứ i ghi danh sách các bàitoán thu ộ c s ở tr ườ ng c ủ a h ọ c sinh SP th ứ i. • n dòng ti ế p theo, dòng th ứ j ghi danh sách các bàitoán thu ộ c s ở tr ườ ng c ủ a h ọ c sinh TH th ứ j. Kết quả: Ghi ra file v ă n b ả n OLYMPIC.OUT G ồ m n dòng, dòng th ứ k ghi s ố hi ệ u thí sinh SP và s ố hi ệ u thí sinh TH trong c ặ p đấ u b ằ ng bàitoán k. 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 Ví dụ: ( Do sơ suất , xin mời chuyển sang đề bài 126 với nội dung , đề bài tương tự , Khi Test cũng vậy ). 136 126. GIAO LƯU Cu ộ c thi giao l ư u "T ế t Ta Tin (TTT)" gi ữ a hai độ i SP và TH có m bàitoántin h ọ c, m ỗ i độ i có n h ọ c sinh tham d ự . Các bàitoán đượ c đ ánh s ố t ừ 1 đế n m và các h ọ c sinh c ủ a m ỗ i độ i đượ c đ ánh s ố t ừ 1 t ớ i n. H ọ c sinh c ủ a hai độ i đề u là nh ữ ng l ậ p trình viên xu ấ t s ắ c, tuy nhiên m ỗ i h ọ c sinh có th ể gi ả i quy ế t nh ữ ng bàitoán thu ộ c s ở tr ườ ng c ủ a mình hi ệ u qu ả h ơ n nh ữ ng bài khác. Hãy giúp thầy My tổ chức cuộc thi theo thể thức sau: • Chọn đúng n cặp đấu, mỗi cặp gồm 01 học sinh SP và 01 học sinh TH làm 01 bàitoán trong số những bàitoán này. • Có đúng n bàitoán được mang ra thi • Học sinh nào cũng được tham gia • Bàitoán cho cặp đấu bất kỳ phải thuộc sở trường của cả hai thí sinh trong cặp • Không chấm lại, cấm "à ừ", ngủ không quá 5 giây. Bi ế t r ằ ng luôn t ồ n t ạ i ph ươ ng án th ự c hi ệ n yêu c ầ u trên Dữ liệu: Vào t ừ file v ă n b ả n OLYMPIC.INP • Dòng 1: Ch ứ a hai s ố n, m (1 ≤ n ≤ m ≤ 255) • n dòng ti ế p theo, dòng th ứ i ghi danh sách các bàitoán thu ộ c s ở tr ườ ng c ủ a h ọ c sinh SP th ứ i. • n dòng ti ế p theo, dòng th ứ j ghi danh sách các bàitoán thu ộ c s ở tr ườ ng c ủ a h ọ c sinh TH th ứ j. Kết quả: Ghi ra file v ă n b ả n OLYMPIC.OUT G ồ m m dòng, dòng th ứ k ghi s ố hi ệ u thí sinh SP và s ố hi ệ u thí sinh TH trong c ặ p đấ u b ằ ng bàitoán k, n ế u bàitoán k không đượ c mang ra thi thì ghi vào dòng này hai s ố 0 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. Nâng cao 1 : Yêu cầu tương đương nhưng giảm bộ nhớ xuống còn 100 KB, time limit 2 giây/test. Nâng cao 2 : Yêu cầu tương đương nhưng tăng kích thước bộ nhớ là 255 KB ; n , m <= 450. time limit 10 giây / test. Nâng cao 3 : Yêu cầu tương đương nhưng tăng kích thước bộ nhớ là 300 KB , n , m <= 700. time limit 30 giây / test. Nâng cao 4 : Yêu cầu tương đương Nâng cao 3 nhưng giảm time limit xuống còn 20 giây/test. Ví dụ: OLYMPIC.INP OLYMPIC.OUT 4 6 3 6 1 2 2 4 5 6 3 5 6 4 1 2 6 2 4 0 0 0 0 3 3 4 2 1 1 137 127. ĐẠI DIỆN Trên tr ụ c s ố cho n đ o ạ n đ óng, đ o ạ n th ứ i là [L i , R i ]. (1 ≤ n ≤ 100000, Các L i và R i là s ố nguyên, -30000 ≤ L i < R i ≤ 30000) Hãy chỉ ra tập ít nhất các điểm nguyên phân biệt trên trục số thoả mãn: Mỗi đoạn trong số n đoạn kể trên phải chứa tối thiểu 2 điểm trong tập này. Dữ liệu: Vào t ừ file v ă n b ả n PTS.INP • Dòng 1: Ch ứ a s ố n • n dòng ti ế p theo, dòng th ứ i ch ứ a hai s ố L i và R i Kết quả: Ghi ra file v ă n b ả n PTS.OUT • Dòng 1: Ghi s ố P là s ố đ i ể m đượ c ch ọ n • Dòng 2: Ghi các to ạ độ (trên tr ụ c s ố ) c ủ a P đ i ể m đượ c ch ọ n 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 Ví dụ PTS.INP PTS.OUT 3 6 10 1 6 4 9 3 4 6 9 138 128. HỘI CHỢ B ả n đồ h ộ i ch ợ là m ộ t hình ch ữ nh ậ t đượ c chia thành l ướ i ô vuông đơ n v ị kích th ướ c mxn. M ỗ i ô t ượ ng tr ư ng cho m ộ t gian hàng. Đế n th ă m gian hàng (i, j) thì ph ả i tr ả m ộ t s ố ti ề n là a ij . Quy ướ c r ằ ng n ế u a ij = 0 thì (i, j) là gian hàng khuy ế n m ạ i. Khi đế n gian hàng khuy ế n m ạ i, khách hàng không nh ữ ng không ph ả i tr ả m ộ t kho ả n phí nào mà còn có th ể th ự c hi ệ n ti ế p k b ướ c di chuy ể n không m ấ t ti ề n ngay sau đ ó. Nh ữ ng c ử a vào h ộ i ch ợ đượ c đặ t ở nh ữ ng gian hàng n ằ m trên biên trái; còn nh ữ ng l ố i ra c ủ a h ộ i ch ợ đượ c đặ t ở nh ữ ng gian hàng n ằ m trên biên ph ả i. T ừ m ộ t gian hàng b ấ t k ỳ có th ể đ i sang m ộ t trong nh ữ ng gian hàng chung c ạ nh v ớ i gian hàng đ ó b ằ ng m ộ t b ướ c di chuy ể n. Yêu cầu: Hãy tìm một đường đi thăm hội chợ (từ một cửa vào tới một lối ra) sao cho tổng số tiền phải trả là ít nhất. Ràng buộc: 1 ≤ m ≤ 200; 2 ≤ n ≤ 200; 1 ≤ k ≤ 20; các s ố a ij là nh ữ ng s ố t ự nhiên không quá 10000; Dữ liệu: Vào t ừ file v ă n b ả n FAIR.INP • Dòng 1: Ch ứ a ba s ố m, n, k • m dòng ti ế p theo, dòng th ứ i ch ứ a n s ố , s ố th ứ j là a ij . Kết quả: Ghi ra file v ă n b ả n FAIR.OUT • Dòng 1: Ghi t ổ ng s ố ti ề n ph ả i tr ả . • Các dòng ti ế p theo m ỗ i dòng ghi ch ỉ s ố hàng và ch ỉ s ố c ộ t c ủ a m ộ t ô trên đườ ng đ i. Th ứ t ự các ô đượ c li ệ t kê trên nh ữ ng dòng này ph ả i theo đ úng th ứ t ự trên hành trình: B ắ t đầ u t ừ m ộ t c ử a vào, k ế t thúc là m ộ t l ố i ra. Các số trên một dòng của Input / Output file ghi cách nhau ít nhất một dấu cách Ví dụ: FAIR.INP FAIR.OUT 6 7 2 1 5 1 1 1 1 17 4 0 7 7 7 1 12 9 9 2 2 1 1 10 9 10 10 10 1 10 10 9 10 10 10 1 2 3 9 10 10 10 10 10 10 14 2 1 2 2 2 3 2 4 3 4 3 5 4 5 5 5 5 6 5 7 [...]... 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 . học sinh TH làm 01 bài toán trong số những bài toán này. • Bài toán nào cũng được mang ra thi • Học sinh nào cũng được tham gia • Bài toán cho cặp đấu bất. học sinh TH làm 01 bài toán trong số những bài toán này. • Có đúng n bài toán được mang ra thi • Học sinh nào cũng được tham gia • Bài toán cho cặp đấu bất