21
012. XIN CH
Giám đốc mt công ty trách nhim hu hn mun xin ch ký ca ông Kiến trúc sư trưởng thành
ph phê duyt d án xây dng tr s làm vic ca công ty. Ông kiến trúc sư trưởng ch ký vào giy
phép khi thư ký ca ông ta đã ký duyt vào giy phép. Bà thư ký làm vic ti tng th M ca toà
nhà tr s làm vic gm M tng ca Vn phòng Kiến trúc sư trưởng thành ph. Các tng ca toà
nhà được đánh s t 1 đến M, t thp đến cao. Mi tng ca toà nhà N phòng được đánh s t 1
đến N t trái qua phi. Trong mi phòng ch mt nhân viên làm vic. Giy phép ch được thư
duyt khi đã ít nht mt nhân viên tng M đã ký xác nhn. Ngoài thư ký, mt nhân
viên bt k, ch ký xác nhn vào giy phép khi có ít nht mt trong các điu kin sau được tho mãn:
a) Nhân viên đó làm vic tng 1
b) Giy phép đã được ký xác nhn bi nhân viên làm vic cùng s phòng trong tng sát dưới
c) Giy phép đã được ký xác nhn bi nhân viên làm vic cùng s phòng trong tng sát trên
d) Giy phép đã được ký xác nhn bi nhân viên làm vic phòng bên cnh
Mi mt nhân viên (k cthư ký) khi ký xác nhn đều đòi mt khon l phí. Hãy ch ra cách xin
được ch ký ca Kiến trúc sư trưởng đòi hi tng l phí phi tr nh nht (gi thiết rng riêng
ch ký ca Kiến trúc sư trưởng không mt l phí).
D liu vào t file vn bn SIGN.INP
Dòng đầu tiên cha ba s M, N, P (1 M 50; 1 N 100; 1 P N) đây P s phòng
thư ký.
Dòng th i trong s M dòng tiếp theo cha N s nguyên dương theo th t là l phí phi tr cho
các nhân viên các phòng 1, 2, ..., N trên tng i. Các s này không vượt quá 10
9
gi thiết
rng tng chi phí cn tr cng không vượt quá 10
9
.
Kết qu: Ghi ra file vn bn SIGN.OUT
Dòng đầu tiên ghi 2 s F, K theo th t là chi phí cn tr và s lượng phòng cn đi qua.
K dòng tiếp theo, mi dòng ghi s tng và s phòng ca mt phòng theo th t cn đi qua.
(Các s trên 1 dòng ca input/output file cách nhau ít nht 1 du trng)
Ví d:
SIGN.INP SIGN.OUT
3 4 4
10 10 1 10
2 2 2 10
1 10 10 1
9 6
1 3
2 3
2 2
2 1
3 1
3 4
22
013. LC NM KIM CƯNG
Lc mt đồ trang sc rt được các gái ưa chung. Chính vy chúng phi được chế to
tht đẹp và đa dng. Xét vic chế to lc có m mt xích, mi mt được np mt viên kim cương. Có
n loi viên kim cương khác nhau, n 7; 2 m 2
7-n
+ 19.
Hai lc được gi khác nhau nếu ta không th tìm cách đặt sao cho c mt tương ng kim
cương cùng loi. Lưu ý rng lc có hình vòng.
Vi m và n cho trước, hãy xác định xem có th tn ti bao nhiêu loi lc khác nhau.
Các loi kim cương được ký hiu A, B, C, ... Mt cu hình lc được xác định bi mt xâu m ký
t A, B, C, ... và bt đầu bng ký t nh nht.
Cho s th t l, hãy xác định cu hình tương ng (Các cu hình được sp xếp theo th t t đin).
D liu: Vào t file BRASLET.INP có dng
m n
l
1
l
2
...
Kết qu: Đa ra file BRASLET.OUT
K - S lượng lc khác nhau
s
1
s
2
... (si xác định cu hình lc tương ng vi l
i
)
Ví d:
BRASLET.INP BRASLET.OUT
4 3
2
21
21
AAAB
CCCC
23
014. RI SI
Xét trò chơi ri si vi mt người chơi như sau: Cho cây T và mt đống si gm K viên
mi bước người ta ly 1 viên si t đống si và đặt vào mt nút lá tu, chn
Nếu nút p r nút lá và tt c và tt c các nút đều có si thì người ta gom tt c các viên si
li, đặt 1 viên nút p, xoá các nút lá ca nó và hoàn tr r - 1 viên si còn li vào đống si.
Trò chơi kết thúc khi đã đặt được 1 viên si vào nút gc
Nhim v đặt ra là theo cu trúc ca y T, xác định s viên si ti thiu ban đầu đ trò chơi có th
kết thúc bình thường. Cây có n nút ( N 400), nút gc được đánh s là 1.
D liu: vào t file vn bn STONE.INP
Dòng đầu: s n
Dòng th i trong s n ng tiếp theo có dng: i m i
1
i
2
... i
m
. Trong đó m s nút con ca nút i;
i
1
, i
2
, ..., i
m
: Các nút con ca nút i.
Kết qu: đa ra file STONE.OUT s lượng viên si ti thiu cn thiết
Ví d
STONE.INP STONE.OUT
7
1 2 2 3
2 2 5 4
3 2 6 7
3
24
015. IP VIÊN
Địa bàn hot động ca mt đip viên mt khu ph đó ch các đường ph ngang, dc to
thành mt lưới ô vuông. Vi mc đích bo mt, thay vì tên đường ph, đip viên đánh s các ph
ngang t 0 đến m các ph dc t 0 đến n. mt s nba hoc ngã tư các trm kim soát.
Anh ta đang đứng nút giao ca hai đường (i
1
, j
1
) (j
1
- đường ngang; i
1
- đường dc) cn ti
đim hn giao ca hai đường (i
2
, j
2
). Để tránh b theo dõi, đường đi phi không qua các trm
kim soát c ti ch r thì nht thiết phi đổi hướng đi, thm chí th sang đường và đi ngược
tr li. Vic đổi hướng ch được thc hin nba hoc ngã tư. y xác định đường đi ngn nht
ti đim hn hoc cho biết không có đường đi đáp ng được u cu đã nêu.
D liu: vào t file SPY.INP
Dòng đầu: m n i
1
j
1
i
2
j
2
( 0 m, n 100)
Các dòng sau: mi dòng 2 s i, j (to độ trm kim soát).
Kết qu: đa ra file SPY.OUT
Dòng đầu: độ dài đường đi ngn nht hoc thông báo NO nếu không có đưng đi.
Các dòng sau: mi dòng 2 s i, j ch nút tiếp theo cn ti theo đường đi m được, bt đu là i
1
j
1
kết thúc là i
2
j
2
.
Ví d:
SPY.INP SPY.OUT
4 5 0 0 5 4
0 1
0 4
2 2
2 3
4 0
5 2
5 3
-1
13
0 0
1 0
1 1
1 0
2 0
2 1
3 1
3 2
4 2
4 3
3 3
4 3
4 4
5 4
25
016. KHONG CÁCH GIA HAI XÂU
Cho hai xâu t S
1
S
2
, mi xâu độ dài không quá 100 ký t. Cho phép thc hin các phép
biến đổi sau đây đối vi xâu ký t:
1. Thay thế mt ký t nào đó bi ký t khác
2. Đổi ch hai ký t lin nhau
3. Chèn mt ký t vào sau v trí nào đó
4. Xoá bt 1 ký t
Ta gi khong ch gia hai xâu S
1
S
2
s ít nht các phép biến đổi nêu trên cn áp dng đối
vi xâu S
1
để biến nó thành xâu S
2
.
Yêu cu: Tính khong cách gia 2 xâu S
1
, S
2
cho trớc và ch ra th t các phép biến đổi.
d: Gi s S1 = 'Barney'; S2 = 'brawny'. Khong cách gia 2 xâu là 4. Dãy các phép biến đổi
cn thc hin là:
1. Thay ký t 1 ca S
1
(B) bi b
2. Đổi ch ký t th 2 (a) và th 3 (r) ca S
1
.
3. Chèn ký t w vào S
1
sau ký t th 3.
4. Xoá ký t th 5 ca S
1
.
Dãy các phép biến đổi có th mô t như sau:
'Barney' 'barney' 'braney' 'brawney' 'brawny'
D liu: vào t file vn bn STREDIT.INP có cu trúc nh sau:
Dòng đầu tiên cha xâu S
1
Dòng th hai cha xâu S
2
Kết qu: Ghi ra file vn bn STREDIT.OUT
Dòng đầu tiên ghi s lượng các phép biến đổi cn s dng K
Mi dòng i trong s K dòng tiếp theo t phép biến đổi được s dng ln th i gm các
tham s sau: các tham s ghi trên 1 dòng ghi cách nhau 1 du cách.
1, P, C (nếu là phép thay ký t ti v trí P bng ký t C)
2, I, I + 1 (nếu là phép đổi ch 2 ký t th I và th I + 1)
3, P, C (nếu là phép chèn ký t C vào sau v trí P)
4, P (nếu là phép xoá ký t th P)
Ví d:
STREDIT.INP STREDIT.OUT
Barney
brawny
4
1 1 b
2 2 3
3 3 w
4 5