HÀNG ĐỢI VỚI ĐỘ ƯU TIÊN

Một phần của tài liệu 150 đề tin học (Trang 117 - 120)

Cho trước một danh sách rỗng. Người ta xét hai thao tác trên danh sách đó:

• Thao tác "+V" (ởđây V là một số tự nhiên ≤ 109): Nếu danh sách đang có ít hơn 15000 phần tử

thì thao tác này bổ sung thêm phần tử V vào danh sách; Nếu không, thao tác này không có hiệu lực.

• Thao tác "-": Nếu danh sách đang không rỗng thì thao tác này loại bỏ tất cả các phần tử lớn nhất của danh sách; Nếu không, thao tác này không có hiệu lực

Ví dụ: Với danh sách ban đầu là rỗng:

Nếu ta thực hiện liên tiếp các thao tác: +1, +3, +2, +3 ta sẽđược danh sách (1, 3, 2, 3)

Thực hiện thao tác -, ta sẽđược danh sách (1, 2)

Thực hiện hai thao tác +4, ta sẽđược danh sách (1, 2, 4, 4)

Thực hiện thao tác -, ta sẽđược danh sách (1, 2)

Tiếp tục với các thao tác +2, +9, +7, +8, ta sẽđược danh sách (1, 2, 2, 9, 7, 8)

Cuối cùng thực hiện thao tác -, ta còn lại danh sách (1, 2, 2, 7, 8)

Vn đề đặt ra là cho trước mt dãy không quá 100000 thao tác, hãy xác định nhng giá tr s

nào còn li trong danh sách, mi giá tr chđược lit kê mt ln.

Dữ liệu: Vào từ file văn bản IO.INP

• Gồm nhiều dòng, mỗi dòng ghi một thao tác. Thứ tự các thao tác trên các dòng được liệt kê theo

đúng thứ tự sẽ thực hiện.

Kết quả: Ghi ra file văn bản IO.OUT

• Dòng 1: Ghi số lượng những giá trị còn lại trong danh sách. • Dòng 2: Liệt kê những giá trịđó

Các s trên mt dòng ca Input/Output file được ghi cách nhau ít nht mt du cách.

Ví dụ: IO.INP IO.OUT +1 +3 +2 +3 - +4 +4 - +2 +9 4 8 7 2 1

108. HI 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à aij.

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 đó.

Yêu cu: Hãy tìm mt đường đi thăm hi ch (t mt ca vào ti mt li ra) sao cho tng s tin phi tr là ít nht.

Ràng buộc: m, n và các số aij là những số tự nhiên không quá 100. (m ≥ 1, n ≥ 2)

5 1 1 1 17 9 7 7 1 12 9 7 7 1 12 9 2 1 1 10 10 10 1 10 10 10 10 1 2 3 10 10 10 10 10 Dữ liệu: Vào từ file văn bản FAIR.INP

• Dòng 1: Chứa hai số m, n

• m dòng tiếp theo, dòng thứ i chứa n số, số thứ j là aij.

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. (adsbygoogle = window.adsbygoogle || []).push({});

Các s trên mt dòng ca Input / Output file ghi cách nhau ít nht mt du cách

Ví dụ: FAIR.INP FAIR.OUT 6 5 5 1 1 1 17 9 7 7 1 12 9 2 1 1 10 10 10 1 10 10 10 10 1 2 3 10 10 10 10 10 18 1 1 1 2 1 3 1 4 2 4 3 4 3 3 4 3

109. SERIE A

Giải bóng đá ngoại hạng Italia (Serie A) là giải bóng đá hấp dẫn nhất hành tinh, ởđây người ta được chứng kiến cuộc tranh tài của những đội bóng lớn, những danh thủ nổi tiếng thế giới và cả không khí cuồng nhiệt của các sân vận động cho tới tận những vòng đấu cuối cùng.

Với một giải bóng đá chuyên nghiệp như vậy thì công việc của ban tổ chức không dễ dàng chút nào, hàng tuần họ phải tổng hợp thông tin về các trận đấu để xếp lại thứ hạng các đội, và một sự nhầm lẫn dù rất nhỏ cũng có thể gây nên sự chỉ trích từ phía báo chí.

Yêu cu: Biết thông tin v nhng trn đã đấu, hãy lp bng thng kê thành tích ca tng đội theo th t t cao xung thp. Cách xếp như sau: Vi hai đội bt k thì đội nào nhiu đim hơn s xếp trước, nếu hai đội bng đim thì đội nào có hiu s Bàn thng - Bàn thua cao hơn s xếp trước, nếu vn bng nhau v hiu s bàn Thng - Thua thì đội nào ghi được nhiu bàn thng hơn s xếp trước, còn nếu li bng nhau c v s bàn thng thì đội nào có tên (xếp theo vn ABC) nh hơn s xếp trước.

Thông tin chung về giải: mỗi đội chỉ ghi được tối đa 10 bàn trong một trận, giải được thi đấu theo thể thức vòng tròn hai lượt. Với mỗi trận, đội thắng được 3 điểm, đội hoà được 1 điểm, đội thua

được 0 điểm. Tên của các đội hoàn toàn phân biệt.

Dữ liệu: Vào từ file văn bản SERIEA.INP

• Dòng 1: Chứa số n là sốđội bóng (2 ≤ n ≤ 1000)

• n dòng tiếp theo, dòng thứ i ghi tên của đội thứ i (là xâu gồm đúng 3 chữ cái in hoa)

• Các dòng tiếp theo, mỗi dòng ghi 4 thông tin của một trận đấu: n1, n2, g1, g2. Ởđây n1 và n2 là tên hai đội thi đấu, g1 là số bàn thắng của đội n1 ghi được, g2 là số bàn thắng của đội n2 ghi được trong trận đấu đó. Bốn thông tin này được ghi cách nhau đúng một dấu cách.

Kết quả: Ghi ra file văn bản SERIEA.OUT

Gồm n dòng, mỗi dòng ghi thông tin về một đội bóng sau khi đã sắp thứ hạng theo khuôn dạng sau: Tên đội, Số trận đã đá, Điểm số, Số trận thắng, Số trận thua, Số trận hoà, Số bàn thắng, Số bàn thua, Hiệu số Bàn thắng - Bàn thua. Những thông tin này phải ghi cách nhau đúng một dấu cách

Ví dụ: SERIEA.INP SERIEA.OUT 7 JUV MIL ROM BAR INT LAZ ROM 4 5 1 1 2 9 7 2 MIL 3 5 1 0 2 6 5 1 JUV 4 5 1 1 2 7 7 0 LAZ 1 3 1 0 0 5 2 3 INT 2 3 1 1 0 3 3 0 UDI 0 0 0 0 0 0 0 0 BAR 2 0 0 2 0 3 9 -6

Một phần của tài liệu 150 đề tin học (Trang 117 - 120)