150 Bài Toán Tin Đại học Sư Phạm Hà Nội 2004 – 2006 phần 8 pptx

12 404 0
150 Bài Toán Tin Đại học Sư Phạm Hà Nội 2004 – 2006 phần 8 pptx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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ài toán tin h ọ c, m ỗ i độ i có n h ọ c sinh tham d ự . Các bài toá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ài toá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à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 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ài toá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ài toá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ài toá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ài toán tin h ọ c, m ỗ i độ i có n h ọ c sinh tham d ự . Các bài toá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ài toá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à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 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ài toá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ài toá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ài toán k, n ế u bài toá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 139 129. LỊCH HỌC Ch ươ ng trình h ọ c c ủ a m ộ t tr ườ ng đạ i h ọ c có n môn đ ánh s ố t ừ 1 t ớ i n, m ỗ i môn ph ả i h ọ c trong đ úng m ộ t h ọ c k ỳ và có m ộ t s ố môn b ắ t bu ộ c ph ả i h ọ c sau m ộ t s ố môn khác. Ch ươ ng trình đ ào t ạ o đượ c cho h ợ p lý để sinh viên có th ể hoàn thành h ế t t ấ t c ả các môn h ọ c. Yêu cầu: Hãy lập một lịch học để sinh viên có thể hoàn thành hết tất cả các môn một cách nhanh nhất. Nếu có nhiều phương án xếp lịch thoả mãn điều trên thì chỉ ra phương án mà số môn xếp trong học kỳ học nhiều môn nhất là ít nhất. Các h ọ c k ỳ đượ c đ ánh s ố t ừ 1 theo trình t ự th ờ i gian. Dữ liệu: Vào t ừ file v ă n b ả n SCHEDULE.INP • Dòng 1: Ch ứ a s ố n (1 ≤ n ≤ 200) • n dòng ti ế p theo, dòng th ứ i ch ứ a danh sách các môn ph ả i h ọ c tr ướ c môn 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 File cách nhau ít nhất một dấu cách. Kết quả: Ghi ra file v ă n b ả n SCHEDULE.OUT • Dòng 1: Ghi s ố h ọ c k ỳ ít nh ấ t để hoàn thành t ấ t c ả các môn và s ố môn h ọ c nhi ề u nh ấ t trong m ộ t h ọ c k ỳ . • n dòng ti ế p theo, dòng th ứ i ghi s ố hi ệ u h ọ c k ỳ h ọ c môn i Ví dụ: SCHEDULE.INP SCHEDULE.OUT 7 0 0 1 2 0 0 2 3 4 0 5 0 4 5 0 4 2 1 1 2 2 3 4 4 140 130. MÃ LIÊN HOÀ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 [...]... 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: aL, aL+1, , aH 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ố a1, a2, , an 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... phần tử dương trong a Chú ý : + Với n . gồm 01 học sinh SP và 01 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 kỳ phải. gồm 01 học sinh SP và 01 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 kỳ phải. Cu ộ c thi giao l ư u "T ế t Ta Tin (TTT)" gi ữ a hai độ i SP và TH có m bài toán tin h ọ c, m ỗ i độ i có n h ọ c sinh tham d ự . Các bài toán đượ c đ ánh s ố t ừ 1 đế n m

Ngày đăng: 29/07/2014, 06:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan