de quy quay lui

14
001 Đặt quân hậu Cho bàn cờ vua kích thước NxN. Yêu cầu liệt kê tất cả các cách đặt N quân hậu lên bàn cờ vua sao cho chúng không thể ăn nhau. Dữ liệu vào: Trong file HAU.INP là một số nguyên dương N duy nhất N≤16 Dữ liệu ra: ghi vào file HAU.OUT gồm nhiều dòng, mỗi dòng là một cách đặt N quân hậu lên bàn cờ vua 002 Đường đi ngắn nhất Trong vấn đề tranh chấp biển Đông, Việt Nam kiện TQ lên toàn án Quốc tế vì TQ đã vi phạm chủ quyền Việt Nam. Để tìm bằng chứng quần đảo Hoàng Sa là của Việt Nam, toàn án quốc tế đã cử người sang nước ta. Trước khi đến Hoàng Sa, người ta đã lập ra một bản đồ hình chữ nhật kích thước MxN, trong đó, mỗi ô của bản đồ là một đảo và giá trị trong mỗi ô là số lượng bằng chứng có được trên đảo. Tòa án quốc tế đã chuẩn bị trước lịch trình để thu thập chứng cứ trên tất cả các đảo, tuy nhiên TQ đã biết được điều này nên trên một số hòn đảo bằng chứng có lợi cho nước ta đã bị đánh tráo thành bằng chứng có lợi cho TQ. Khi người của toà án quốc tế bắt đầu xuất phát trên hòn đảo có tọa độ (1,1) thì tình báo Việt Nam phát hiện nhiều hòn đảo đã bị đánh tráo bằng chứng đồng thời tàu chiến TQ đang đuổi theo từ phía sau và bên trái do vậy kế hoạch đường đi của toàn án phải thay đổi: Tàu của toàn án chỉ được đi thẳng hoặc rẽ phải và chỉ ghé thăm những hòn đảo nào có chứng cứ có lợi cho Việt Nam Yêu cầu: hãy viết chương trình lập đường đi cho tàu của tòa án đi qua các đảo để số lượng bằng chứng thu được cho Việt Nam là lớn nhất khi tàu đi đến hòn đảo có tọa độ MxN. Dữ liệu vào: Từ file BC.INP + Dòng đầu tiên ghi hai số nguyên dương M và N + M dòng tiếp theo, mỗi dòng ghi N số nguyên. Số nguyên ở dòng i cột j cho biết số lượng bằng chứng có lợi có thể thu được từ hòn đảo này, nếu băng 0 có nghĩa là bằng chứng đã bị TQ đánh tráo. + Ô (1,1) và ô (M,N) có giá trị dương Dữ liệu ra: ghi vào file BC.OUT là một số nguyên duy nhất cho biết số lượng bằng chứng nhiều nhất thu được Ví dụ: BC.INP BC.OUT 4 5 24

Upload: hai-phong

Post on 02-Jan-2016

163 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: De Quy Quay Lui

001 Đ t quân h uặ ậCho bàn cờ vua kích thước NxN. Yêu cầu liệt kê tất cả các cách đặt N quân hậu lên bàn cờ vua

sao cho chúng không thể ăn nhau.

Dữ liệu vào: Trong file HAU.INP là một số nguyên dương N duy nhất N≤16

Dữ liệu ra: ghi vào file HAU.OUT gồm nhiều dòng, mỗi dòng là một cách đặt N quân hậu lên bàn cờ vua

002 Đ ng đi ng n nh tườ ắ ấTrong vấn đề tranh chấp biển Đông, Việt Nam kiện TQ lên toàn án Quốc tế vì TQ đã vi phạm

chủ quyền Việt Nam. Để tìm bằng chứng quần đảo Hoàng Sa là của Việt Nam, toàn án quốc tế đã cử người sang nước ta. Trước khi đến Hoàng Sa, người ta đã lập ra một bản đồ hình chữ nhật kích thước MxN, trong đó, mỗi ô của bản đồ là một đảo và giá trị trong mỗi ô là số lượng bằng chứng có được trên đảo. Tòa án quốc tế đã chuẩn bị trước lịch trình để thu thập chứng cứ trên tất cả các đảo, tuy nhiên TQ đã biết được điều này nên trên một số hòn đảo bằng chứng có lợi cho nước ta đã bị đánh tráo thành bằng chứng có lợi cho TQ. Khi người của toà án quốc tế bắt đầu xuất phát trên hòn đảo có tọa độ (1,1) thì tình báo Việt Nam phát hiện nhiều hòn đảo đã bị đánh tráo bằng chứng đồng thời tàu chiến TQ đang đuổi theo từ phía sau và bên trái do vậy kế hoạch đường đi của toàn án phải thay đổi: Tàu của toàn án chỉ được đi thẳng hoặc rẽ phải và chỉ ghé thăm những hòn đảo nào có chứng cứ có lợi cho Việt Nam

Yêu cầu: hãy viết chương trình lập đường đi cho tàu của tòa án đi qua các đảo để số lượng bằng chứng thu được cho Việt Nam là lớn nhất khi tàu đi đến hòn đảo có tọa độ MxN.

Dữ liệu vào: Từ file BC.INP

+ Dòng đầu tiên ghi hai số nguyên dương M và N

+ M dòng tiếp theo, mỗi dòng ghi N số nguyên. Số nguyên ở dòng i cột j cho biết số lượng bằng chứng có lợi có thể thu được từ hòn đảo này, nếu băng 0 có nghĩa là bằng chứng đã bị TQ đánh tráo.

+ Ô (1,1) và ô (M,N) có giá trị dương

Dữ liệu ra: ghi vào file BC.OUT là một số nguyên duy nhất cho biết số lượng bằng chứng nhiều nhất thu được

Ví dụ:

BC.INP BC.OUT

4 5

1 2 3 0 5

1 0 2 2 5

3 2 7 0 3

2 2 1 1 6

24

003 Lâu ĐàiSplendid, vua xứ Byteotia muốn cho cô con gái xinh đẹp của mình – công chúa Ada xuất giá.

Ông hỏi con gái muốn người chồng của mình phải thế nào. Công chúa trả lời là chồng tương lai phải là một người thông minh, đồng thời không hoang phí cũng như không keo kiệt bủn xỉn. Nhà vua suy nghĩ khá lâu về cách kiểm tra để chọn cho công chúa người tốt nhất. Cuối cùng ông thấy hay nhất là sử dụng lâu đài của mình để tổ chức tiếp đãi mọi cư dân của Byteotia. Lâu đài có rất

Page 2: De Quy Quay Lui

nhiều phòng, trong đó trưng bày các báu vật quốc gia. Theo các hành lang trong lâu đài, người ta có thể ghé vào phòng này hay phòng khác, ngắm nhìn các hiện vật độc đáo trưng bày,mang lại những kinh ngạc thích thú cho người xem. Để ghé vào mỗi phòng, người tham quan phải trả một số Bytealer (đơn vị tiền tệ của Byteotia). Cuộc tham quan bắt đầu từ phòng có cửa vào lâu đài.

Nhà vua trao cho mỗi người trong diện có thể chọn làm phò mã một túi tiền, với một số lượng Bytealer như nhau. Nhà vua yêu cầu mỗi người tự chọn đường đi tham quan, bắt đầu từ phòng vào lâu đài và kết thúc ở phòng công chúa ngồi. Mỗi người được yêu cầu chi hết đúng số tiền trong túi được trao. Những người hoang phí chi quá nhiều cho việc ghé xem các phòng trưng bày và hết tiền trước khi đến được phòng công chúa. Ngược lại, những người keo kiệt tới phòng công chúa với túi vẫn còn tiền, kết quả là bị công chúa đuổi ra ngoài sau khi thu hết số tiền dư trong túi.

Yêu cầu: Chỉ ra dãy phòng cần ghé xem trên đường đi tới phòng công chúa và tiêu hết đúng số tiền trong túi được trao. Dữ liệu vào đảm bảo có lời giải. Nếu có nhiều lời giải thì chỉ cần nêu một trong số đó.

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

Dòng đầu tiên có 5 số nguyên n, m, e, p, b, 1<=n<=100, 1<=m<=4950, 1<=e,p<=n, 1<=b<=1000, trong đó n - số phòng, m - số hành lang, các phòng được đánh số từ 1 đến n, e – phòng vào lâu đài, p- phòng có công chúa, b - số Bytealer trong túi;

Dòng thứ 2 chứa n số nguyên dương c1, c2,..., cn, 1<=ci<=1000, ci - tiền cần trả để vào xem phòng i;

m dòng tiếp theo: mỗi dòng chứa một cặp số nguyên dương x, y, (x<>y, 1<=x,y<=n),cho biết có hành lang nối 2 phòng x và y.

Các số trên một dòng các nhau ít nhất một dấu cách.

Kết quả: Đưa ra file văn bản CASTLE.OUT dãy số nguyên xác định các phòng cần ghé từ, đi từ e đến p.

Ví dụ:CASTLE.INP CASTLE.OUT5 6 3 4 9 3 2 41 2 3 4 52 45 41 51 22 33 1

004 Tìm bi u th cể ứCho xâu số N= ‘123456789’ và số nguyên M

Yêu cầu: Hãy tìm cách chèn vào N các dấu cộng hoặc trừ để thu được biểu thức có giá trị bằng M (nếu có thể)

Page 3: De Quy Quay Lui

Dữ liệu vào: Đọc từ file văn bản BTHUC.INP có nội dung duy nhất là số nguyên M

Dữ liệu ra: Ghi vào file văn bản BTHUC.OUT. Ghi tất cả các biểu thức thu được nếu có, nếu không thu được biểu thức nào có giá trị bằng M thì ghi là “KHONG CO”

Ví dụ:

BTHUC.INP BTHUC.OUT

500 1-234-56+789

1-2+345+67+89

-12+34+567-89

1000 KHONG CO

005 Quân mãTrên bàn cờ kích thước NxN (1≤N≤200). Trên bàn cờ có M quân hậu (0≤M≤N), mỗi quân hậu

có thể kiểm soát các ô trên cùng hàng, cùng cột và cùng đường chéo với nó. Không có hai quân hậu nằm cùng một ô. Trên các ô còn lại của bàn cờ, tại ô (x,y) có một quân mã có mức năng lượng bằng 0, nó có thể nhảy đến 1 trong 8 ô xung quanh nó theo luật cờ vua. Nếu nó nhảy đến 1 ô có quân hậu kiểm soát thì mức năng lượng của nó tăng lên một đơn vị.

Yêu cầu: Tìm đường đi của quân mã từ ô (x,y) đến ô (p,q) sao cho số bước di chuyển là ít nhất. Nếu có nhiều đường có cùng số bước di chuyển thì chọn đường đi sao cho sau khi đến ô (p,q) quân mã có mức năng lượng cao nhất.

Dữ liệu vào: Tệp văn bản KNIGHT.INP

+ Dòng đầu chứa 6 số nguyên N, M, X, Y, P, Q

+ M dòng tiếp theo mỗi dòng chứa hai số nguyên lần lượt là tọa độ hàng và cột của các quân hậu

+ Các số trên một dòng cách nhau ít nhất 1 khoảng trắng

Dữ liệu ra: Tệp văn bản KNIGHT.OUT

+ Một số dòng đầu là các bước đi của quân mã

+ Dòng tiếp theo là số bước di chuyển của quân mã

+ Dòng cuối cùng chứa một số nguyên là mức năng lượng của quân mã khi đến ô (p,q)

+ Nếu không có đường đi thì ghi -1

Ví dụ:

KNIGHT.INP KNIGHT.OUT

5 2 3 3 4 4

2 2

1 5

3 3

5 2

4 4

2

2

006 xâu văn b nảViết chương trình ghi vào file văn bản tất cả các dãy số sắp xếp theo thứ tự từ điển được tạo

thành từ các số 1, 2, 3. Các dãy số cũng được sắp xếp theo thứ tự từ điện và không có 2 số liên tiếp nào giống nhau.

Page 4: De Quy Quay Lui

Dữ liệu vào: Từ file văn bản XVB.INP chỉ chứa 1 số nguyên dương n duy nhất (n>0)

Dữ liệu ra: Được ghi vào file văn bản XVB.OUT mỗi dãy được ghi trên một dòng, dòng cuối cùng ghi 1 số nguyên cho biết có bao nhiêu dãy số

Ví dụ: với n=2 , nội dung của file XVB.OUT như sau:

XVB.INT XVB.OUT2 1

12132212333132

007 Cung đi n (Olympic 2011)ệỞ một vương quốc nọ có 1 vị vua và ông có N quý phi. Trên miếng đất hình vuông có kích

thước NxN, nhà vua muốn xây dựng cho mỗi quý phi, mỗi người một cung điện (giả sử mỗi cung điện đều nằm trên một mảnh đất kích thước 1x1). Vấn đề là các quý phi này có tính ghen ghét nhau nên nhà vua không muốn các cung điện nhìn thấy nhau từ các hướng (ngang, dọc, chéo). Chi phí xây dựng các cung điện trên mỗi ô đất có thể có giá thành khác nhau. Nhà vua muốn xây dựng N cung điện với tổng chi phí thấp nhất.

Yêu vầu: Bạn hãy giúp nhà vua thực hiện công việc đóDữ liệu vào: Từ file văn bản CUNGDIEN.INP gồm N+1 dòng- Dòng đầu chứa số N (1≤N≤16)- N dòng sau, mỗi dòng chứa N số là chi phí xây dựng tại ô đất tương ứng (Chi phí xây dựng

cung điện trong một ô có giá trị nguyên từ 1 đến 100). Mỗi số cách nhau ít nhất một khoảng trắngDữ liệu ra: Ghi ra file văn bản CUNGDIEN.OUT gồm một số duy nhất cho biết tổng chỉ phí

thấp nhất cho việc xây dựng. Giả sử dữ liệu luôn có lời giảiVí dụ:

CUNGDIEN.INP CUNGDIEN.OUT43 4 12 36 1 7 12 4 1 512 3 8 7

15

*Giải thích: Các ô được chọn là (1,2), (2,4), (3,1), (4,3)

008 X s đi n toánổ ố ệCó N người (đánh số từ 1 đến N) tham gia một đợt xổ số điện toán. Mỗi người nhận được một

thẻ gồm M ô (đánh số từ 1 đếnM). Người chơi được chọn K ô trong số các ô đã cho bằng cách đánh dấu các ô được chọn. Sau đó các thẻ này được đưa vào máy tính để xử lý.

Máy tính chọn ra K ô ngẫu nhiên (gọi là các ô kết quả) và chấm điểm từng thẻ dựa vào kết quả đã sinh. Cứ mỗi ô chọn đúng với ô kết quả thì thẻ chơi được tính 1 điểm. Giả thiết biết các ô chọn cũng như các điểm tương ứng của từng thẻ chơi, hãy xác định tất cả các kết quả có thể có mà máy sinh ra.

Dữ liệu vào đọc từ file vănbản XOSO.INP gồm:- Dòng đầu ghi cácsố N, M, K

Page 5: De Quy Quay Lui

- Dòng thứ i trongN dòng tiếp ghi thẻ chơi của người i gồm K+1 số: K số đầu là các số hiệu của các ô chọn, cuối cùng là điểm tương ứng.

Ghi kết quả ra file văn bản XOSO.OUT, mỗi dòng là một kết quả gồm K số ghi số hiệu các ô mà máy đã sinh.

Ghi chú:- Các số trên cùng mộtdòng trong các file vào/ ra, được ghi cách nhau ít nhất một dấu trắng.- Giới hạn kích thước:N ≤ 100, M ≤50, K ≤10.- Dữ liệu vào trong các test là hợp lệ và đảm bảo có ít nhất một đáp án.

Ví dụ:

009 Vòng tròn s nguyên tố ốMột vòng tròn chứa n vòng tròn nhỏ (n chẵn). Các vòng tròn nhỏ được đánh số từ 1 đến n theo chiều kim đồng hồ. Cần điền các số tự nhiên từ 1 đến n vào các vòng tròn nhỏ sao cho tổng của 2 số trên 2 vòng tròn nhỏ liên tiếp là số nguyên tố. Vòng tròn 1 luôn được ghi số 1.

Ví dụ với N=6 ta có 1 cách điền như hình vẽ sau:

Dữ liệu: Vào từ tập tin RING.INP chứa số nguyên dương chẵn n (2 < n < 20).

Kết quả: Ghi vào tập tin văn bản RING.OUT, gồm nhiều dòng, mỗi dòng là một cách điền, các số trên một dòng cách nhau bằng 1 ký tự trắng

Ví dụ:

RING.INP RING.OUT RING.INP RING.OUT

6 1 4 3 2 5 61 6 5 2 3 4

8 1 2 3 8 5 6 7 41 2 5 8 3 4 7 61 4 7 6 5 8 3 21 6 7 4 3 8 5 2

010: Các ký tựTên chương trình: LETTERS.PAS

1

4

3

2

5

6

Page 6: De Quy Quay Lui

Trò chơi được mô tả như sau: trên một bảng hình chữ nhật chia R hàng và C cột có các ký tự chữ hoa (A-Z) được viết trên mỗi ô của bảng. Trước khi bắt đầu trò chơi có một hình ở góc trên bên trái của bảng(hàng 1, cột 1). Trong mỗi bước di chuyển, một người chơi có thể di chuyển hình đến vị trí các ô liền kề ( lên trên, xuống dưới, sang trái, sang phải) với ràng buộc rằng hình không thể di chuyển đến vị trí kế tiếp nếu ô này chứa ký tự đã xuất hiện mà hình đã di chuyển qua. Mục đích của trò chơi là chơi để có nhiều bước di chuyển nhất có thể được.Viết chương trình xác định số vị trí tối đa trong bảng mà hình có thể viếng thăm trong trò chơi.Dữ liệu vào: Vào từ tập tin văn bản LETTERS.INP - Dòng thứ nhất chứa hai số nguyên R và C, được viết cách nhau bởi một dấu cách, (1 ≤ R, C ≤ 20 )- R dòng tiếp theo chứa, mỗi dòng chứa 1 xâu ký tự. Mỗi dòng biểu diễn một hàng của bảng.Kết quả ra: Ghi vào tập tin văn bản LETTERS.OUT một số nguyên là giá trị lớn nhất các vị trí mà hình có thể di chuyển trên bảng.

Ví dụ:LETTERS.INP LETTERS.OUT2 4CAABADCB

3

3 6HFDFFBAJHGDHDGAGEH

6

011 Hoán v ch cáiị ữCho một xâu S chỉ gồm các chữ cái in hoa, 1 <= độ dài <= 9. Yêu cầu:

1: Có bao nhiêu cách hoán vị các chữ cái của xâu S 2: Liệt kê các hoán vị đó theo thứ tự từ điển

Dữ liệu vào: Gồm 1 dòng duy nhất chứa xâu S Dữ liệu ra: + Dòng 1: Ghi số lượng hoán vị tìm được (K) + K dòng tiếp theo, mỗi dòng ghi một xâu hoán vị của xâu S theo đúng thứ tự từ điển Ví dụ:

QBHV.INP QBHV.OUTABAB 6

AABBABABABBABAABBABABBAA

012. Nh ng ngôi nhà 1ữVOJ: http://vn.spoj.pl/problems/HOUSES/

Một công ty đầu tư xây dựng một khu nhà gồm L căn nhà nằm cạnh nhau trên một con đường. Có N người muốn mua nhà ở khu nhà này, biết rằng người thứ i muốn mua a i căn nhà và mỗi người đều muốn mua những căn nhà nằm cạnh nhau. Do số căn nhà cần mua có thể nhỏ hơn tổng số căn nhà (L) nên sẽ có một số căn nhà chưa được bán. Để đảm bảo mỹ quan của khu nhà, công ty sẽ luôn

Page 7: De Quy Quay Lui

luôn bán căn nhà đầu tiên (theo thứ tự từ trái sang phải) và đê lai những căn nhà chưa ban năm canh nhau (khác trên voj)

Biết yêu cầu của những người mua, một cách bán những căn nhà của công ty có thể được biểu diễn bằng 1 dãy gồm L số. Trong đó số thứ i bằng 0 nếu căn nhà thứ i chưa được bán và bằng k nếu căn nhà thứ i được bán cho người thứ k.

Ví dụ: khi L=4, N=2, a1 = 2, a2=1, dãy “2 0 1 1” thể hiện một cách bán những căn nhà của công ty: căn nhà đầu tiên bán cho người thứ 2, căn nhà thứ 3 và thứ 4 bán cho người đầu tiên và căn nhà thứ 2 được để lại

Yêu cầu: Hãy giúp công ty liệt kê các cách bán những căn nhà. Các cách bán căn nhà được liệt kê theo thứ tự từ điển của dãy số biểu diễn. Nếu số cách bán căn nhà lớn hơn 1000, chỉ cần liệt kê 1000 cách đầu tiên. (Biết rằng dãy a có thứ tự từ điển đứng trước dãy b nếu và chỉ nếu tồn tại chỉ số j, sao cho ai = bi với mọi i < j và aj < bj).

Dữ liệu vào: từ tệp HOUSES1.INP+ Dòng đầu tiên: chứa 2 số nguyên L, N.

+ Dòng thứ 2 chứa N số nguyên, tương ứng là các giá trị a1, a2, …, an.

Hạn chế:+ 1 ≤ L ≤ 100.

+ 1 ≤ N ≤ 20.

+ a1 + a2 + ... + aN ≤ L.

Dữ liệu ra: ghi vào tệp HOUES1.OUTGồm nhiều dòng, mỗi dòng tương ứng với dãy số biểu diễn một cách bán những căn nhà của

công ty, 2 số liên tiếp của dãy số được cách nhau bởi một khoảng trắng. Các dãy số được liệt kê theo thứ tự từ điển.Ví dụ

HOUSES1.INP HOUSES1.OUT4 22 1

1 1 0 21 1 2 02 0 1 12 1 1 0

013. GIẢI MÃ SỐ

Các chữ số từ 1 đến 9 được mã hoá dưới dạng các từ chỉ chứa các ký tự a. b và c theo quy tắc sau: Ví dụ số 132 sẽ được viết thành accb.

Yêu cầu: từ xâu ký tự cho trước, hãy tìm số nguyên dương tương ứng.Dữ liệu: Vào từ file văn bản DECODE.INP xâu chứa không quá 100 ký tự a,b, c.Kết quả: Đưa ra file văn bản DECODE.OUT số tương ứng hoặc -1 nếu xâu không tương ứng với một số nguyên nào.Ví dụ:

DECODE.INP DECODE.OUTabcac 129abccc 63

Chữ số  1  2   3   4   5   6   7   8   9

Mã  a  b cc bbc cbc abc bac aac cac

Page 8: De Quy Quay Lui

014. Phân tích

Cho một số nguyên dương N (N≤30) Hãy phân tích N thành tổng của các số nguyên dương. Các cách phân tích là hoán vị của nhau chỉ tính là một cách

Dữ liệu vào: từ tệp văn bản TONG.INP gồm duy nhất một số N

Dữ liệu ra: ghi vào tệp văn bản TONG.OUT gồm nhiều dòng mỗi dòng là một cách phân tích số N, cách dòng được sắp xếp theo chiều tăng dần. Các số trên một dòng được cách nhau 1 ký tự trắng

Ví dụ:TONG.INP TONG.OUT6 1 1 1 1 1 1

1 1 1 1 21 1 1 31 1 2 21 1 41 2 31 52 2 22 43 36

015. Lệ phí

Nhân dịp năm mới, vua Per tổ chức một bữa tiệc để mọi người có thể ca hát, vui chơi với nhau và được thưởng thức những món ăn ngon nổi tiếng mà trước đây chỉ dành cho những người thân của nhà vua. Để bữa tiệc thêm phần vui vẻ, nhà vua cho phép tất cả mọi người đến tham dự, tuy nhiên họ phải đóng một khoản lệ phí khi đến tham dự.

Là một người yêu thích cờ vua nên nhà vua đã cho quân lích chuẩn bị một bàn cờ vua kích thước NxN, trên mỗi ô của bàn cờ được đặt một đồng tiền vàng (giá trị của chúng có thể khác nhau). Muốn được tham gia bữa tiệc, mỗi người tham dự phải đến để đặt N quân hậu lên N ô khác nhau trên bàn cờ vua sao cho chúng không được ăn nhau (theo luật cờ vua). Tổng số giá trị tiền vàng ở các ô được đặt quân hậu là số tiền mà người đó phải trả.

Sau một năm làm việc vất vả, Pam tiết kiệm được K đồng tiền vàng và dự định dành hết số tiền này để tham dự bữa tiệc. Hãy cho biết số tiền Pam có đủ để đóng tiền lệ phí tham gia bữa tiệc hay không, nếu có thì cho biết số tiền ít nhất mà Pam cần dùng.

Dữ liệu vào: từ tệp văn bản LEPHI.INP

+ Dòng đầu tiên ghi số nguyên dương N, K (N≤16; 0<K≤1000)

+ Các dòng tiếp theo tạo thành một bảng số nguyên trong đó số ở dòng i cột j cho biết giá trị đồng tiền vàng ở ô (i,j) tương ứng trên bàn cờ vua, mỗi số không vượt quá 1000. Các số trên 1 dòng cách nhau ít nhất một ký tự trắng

Dữ liệu ra: ghi vào tệp văn bản LEPHI.OUT

+ Dòng đầu ghi YES hoặc NO tương ứng với việc Pam có đủ tiền để đóng lệ phí hay không

+ Nếu dòng đầu ghi YES thì dòng thứ 2 ghi số tiền ít nhất mà Pam cần dùng để đóng lệ phí

Ví dụ:

Page 9: De Quy Quay Lui

LEPHI.INP LEPHI.OUT4 259 1 10 197 18 20 37 9 2 18 5 10 10

YES21

016. Thế giới năm 1000003

Nguồn bài: http://vn.spoj.com/problems/VMKEY/

Nếu là một người ưa phát minh, chắc hẳn bạn sẽ cảm thấy thế giới năm 1000003 vô cùng nhàm chán. Lúc này, tất cả mọi phát minh mà con người từng mơ ước tới đều đã trở thành hiện thực. Ô tô bay, nhà bay, thành phố bay... đã xuất hiện nhiều nhan nhản. Tất cả mọi người sống trong những ngôi nhà thông minh được điều khiển bởi giọng nói, ánh mắt hoặc suy nghĩ, với sự hỗ trợ của các hệ thống máy tính hiện đại nhất. Con người có thể di chuyển tức thời giữa không gian (giữa các hành tinh ở cách nhau hàng nghìn năm ánh sáng) và thời gian - điều này đã góp phần khiến cho dân số thế giới tăng với tốc độ chóng mặt, vượt qua con số 10001000 vào năm 1000003.

Lúc này, những chiếc SmartPhone đã trở nên lỗi thời, do chúng không chịu được áp lực quá lớn khi đi qua cổng dịch chuyển tức thời hoặc khi đi vào các cỗ máy thời gian. Tất cả mọi người đều dùng điện thoại Nokia.

Do dân số thế giới đã tăng vượt mốc 10001000, những dãy số điện thoại cũng đã dài tới hàng trăm nghìn chữ số. Điều này đã khiến cho việc bấm phím số điện thoại trở nên ác mộng. Trước tình trạng này, hãng điện thoại Nokia đã đưa ra tính năng mới, cho phép bạn có thể thay đổi vị trí các phím số trên bàn phím, để bạn có thể bấm số điện thoại một cách nhanh nhất có thể.

Thời gian để bạn bấm số điện thoại bằng tổng thời gian di chuyển của ngón tay bạn giữa các phím số liên tiếp trong dãy số. Thời gian này đúng bằng khoảng cách Manhattan giữa 2 phím số: Nếu phím số A ở dòng i, cột j, và phím số B ở dòng u, cột v, thì khoảng cách Manhattan giữa 2 phím số được tính theo công thức:

dist(A, B) = |i - u| + |j - v|

Chẳng hạn, bạn muốn gọi số 357468, nếu sử dụng bàn phím cổ điển:

1 2 3

4 5 6

7 8 9

0    

bạn sẽ mất tổng thời gian là;

dist(3, 5) + dist(5, 7) + dist(7, 4) + dist(4, 6) + dist(6, 8)

= ( |1 - 2| + |3 - 2| ) + ( |2 - 3| + |2 - 1| ) + ( |3 - 2| + |1 - 1| ) + ( |2 - 2| + |1 - 3| ) + ( |2 - 3| + |3 - 2|)

= 2 + 2 + 1 + 2 + 2

= 9

Nhưng nếu bạn thay đổi vị trí các phím số như hình dưới:

3 5 7

8 6 4

Page 10: De Quy Quay Lui

1 2 9

0    

 

thì bạn chỉ mất tổng thời gian là:

dist(3, 5) + dist(5, 7) + dist(7, 4) + dist(4, 6) + dist(6, 8)

= 1 + 1 + 1 + 1 + 1 = 5

Chú ý: Bạn chỉ được phép đổi chỗ các phím số, nghĩa là sau khi bạn thay đổi các phím số, mỗi phím phải tương ứng với duy nhất 1 số, và mỗi số phải tương ứng với duy nhất 1 phím. Các phím phải nằm đúng ở 10 vị trí chứa các số 0-9 trong bàn phím cổ điển. Các phím trên điện thọai được đánh số hàng từ trên xuống dưới, đánh số cột từ trái sang phải (xem ví dụ).

Dữ liệu vào: từ tệp văn bản VMKEY.INP

Gồm 1 dòng duy nhất chứa dãy số điện thoại

Dữ liệu ra: ghi vào tệp văn bản VMKEY.OUT

Gồm 1 dòng duy nhất ghi thời gian nhỏ nhất để bạn bấm dãy số điện thoại, sau khi đã thay đổi vị trí các phím số một cách hợp lý