74
064. TRNG S XÂU
Xét tp ch cái A = {I, W, N}. Mt t là mt dãy liên tiếp không quá 6 ký t ca A.
Cho mt danh sách L gm m t phân bit.
Mi t trong danh sách được gán mt trng s dương 60000.
Nhng t không có trong danh sách mang trng s 0.
Xét mt xâu S ch gm các ký t trong A. Trng s ca xâu S được tính bng tng trng s các t
trong S. (Các t trong S được lit kê dưới dng các đon ký t liên tiếp ca S tính c vic giao nhau
và cha nhau)
Yêu cu: Cho trớc danh sách L độ dài n
100. Hãy tìm xâu S = S
1
S
2
...S
n
trng s nh
nht. Nếu có nhiu xâu S đều có trng s nh nht thì ch cn ch ra mt xâu.
D liu: Vào t file vn bn STR.INP
Dòng 1: Ghi hai s n, m cách nhau mt du cách.
m cp dòng tiếp theo, cp dòng th i gm 2 dòng:
Dòng th nht ghi t th i trong danh sách L
Dòng th hai ghi trng s ca t đó
Kết qu: Ghi ra file vn bn STR.OUT gm 2 dòng:
Dòng 1: Ghi trng s ca t S tìm được
Dòng 2: Ghi xâu ký t S
Ví d:
STR.INP STR.OUT STR.INP STR.OUT
8 10
I
13
W
6
N
12
II
6
NI
6
IIN
13
WWW
7
WNN
23
NWW
18
NWN
0
62
WWIWWIWW
8 8
W
10
I
10
N
30
WI
1
WW
10
II
11
WIW
2
IWI
3
98
IWIWIWIW
75
065. PH MAY MN
Người dân thành ph Byteland có rt nhiu điu kiêng k trong cuc sng. Theo quan đim ca h,
các s 2, 6, 13 nhiu s khác không mang li điu may mn. Trong khi đó, c s 3, 5, 7 li rt
được ưa chung. Nhng ngôi nhà s khi phân tích ra tha s nguyên t ch cha các tha s
3, 5, 7 được coi là may mn và được mua rt nhanh.
Sau mt thi gian dài tho lun, Hi đồng thành ph quyết định đánh s tt c các ngôi nhà trên mt
đường ph mi m bng các s may mn liên tiếp nhau, biến ph đó thành mt ph may mn. Ký
hiu y các s may mn X
1
, X
2
, X
3
, X
4
, ... Khi đó c nhà bên trái s mang s X
1
, X
3
, X
5
. Còn
dãy nhà bên phi s mang s X
2
, X
4
, X
6
, ... Toàn b đường ph có không quá 4000 nhà.
Hãy xác định xem mt s cho trớc phi mt s n ph may mn không. Nếu đúng thì
cho biết nhà đó nm bên phi hay bên trái ca ph.
D liu: Vào t file vn bn STREET.INP gm không quá 100000 dòng, mi dòng cha mt s
nguyên dương không quá 18 ch s.
Kết qu: Ghi ra file vn bn STREET.OUT, gm nhiu dòng, mi dòng tương ng vi mt s
file d liu vào cha mt trong ba ch cái L, R, N tương ng vi nbên trái, bên phi hay
không phi s nhà ph may mn.
Lưu ý: Dãy s may mn được tính bt đầu t X
1
=3.
Ví d:
STREET.INP STREET.OUT
5
3
4
98415
12814453125
R
L
N
R
L
76
066. TÍN HIU GIAO THÔNG
Trong mt thành ph có:
m đường ph (hai chiu) song song chy thng dc theo hướng TâyĐông, để tin, ta gi các
đường ph đó là H
1
, H
2
,..., Hm theo th t t Bc xung Nam.
n đường ph (hai chiu) song song chy thng theo hướng BcNam, ta gi các đường ph đó
là V
1
, V
2
, ..., Vn theo th t t Tây sang Đông
Hai đường ph vuông góc bt k, ct nhau to thành mt nút giao thông. Ngoi tr hai nút giao
thông nm v trí góc Đông-Nam c Tây-Bc nhng nút giao thông khác th gn đèn tín
hiu giao thông hai trng thái:
0. Trng thái EW: Xanh hướng Đông và Tây, Đ hướng Bc và Nam.
1. Trng thái NS: Xanh hướng Bc và Nam, Đỏ hướng Đông và Tây.
Mi đèn n hiu mt chu k, thi gian riêng, c sau mi chu k, thi gian đó, đèn đổi trng thái
mt ln. Ti thi đim 0, các đèn tín hiu đều trng thái 0 (EW).
Để gi an toàn, lut giao thông quy định: Khi xe ti mt nút giao thông t mt hướng nào đó đúng
vào thi đim đèn tín hiu theo hướng đó đang Đỏ hay chuyn sang Đỏ thì buc phi dng li, đúng
vào thi đim đèn tín hiu theo hướng đó đang Xanh hay chuyn sang Xanh thì th đi thng, r
phi hay r trái tu, ý.
Trên mt đường ph, thi gian xe đi gia hai nút giao thông liên tiếp c định là 1 đơn v thi gian.
Yêu cu: Cho biết sơ đồ giao thông các đèn tín hiu. Cho mt xe xut phát ti thi đim 0 t
nút giao thông góc Tây-Bc. Tìm hành trình thi đim sm nht để xe ti nút giao thông
góc Đông-Nam.
D liu: Vào t file vn bn TRAFFIC.INP
Dòng 1: Ghi hai s nguyên dương m, n (m, n 100)
Dòng 2: Ghi s k là s đèn hiu giao thông
k dòng tiếp theo, dòng th i gm 3 s nguyên dương x, y, t cho biết đèn hiu th i nm giao
đim ca đường Hx và Vy có chu k, là t (t 10000).
Kết qu: Ghi ra file vn bn TRAFFIC.OUT
Dòng 1: Ghi thi đim sm nht để xe chy t góc Tây-Bc ti góc Đông-Nam
Dòng 2: Ghi mt dãy ký t, ký t th p {w, E, W, S, N} cho biết trong khong thi gian t p-
1 ti p, xe trong trng thái đứng đợi hay chy theo hướng Đông, Tây, Nam hay Bc (theo th t
w, E, W, S, N đó).
Các s trên mt dòng ca Input File được ghi cách nhau ít nht mt du cách.
Ví d:
TRAFFIC.INP TRAFFIC.OUT
3 4
9
1 2 2
1 3 2
1 4 3
2 1 4
2 2 2
2 3 1
2 4 2
3 1 10
3 3 4
6
ESEwSE
2 2 3
4 2 1 2
10 4
w W
E
N
S
77
067. PHÂN NHÓM
Cho n hc sinh và m đặc đim (n 100), (m 10).
Cn phân các hc sinh này thành mt s ít các nhóm nht để đảm bo rng ta ch cn quan tâm
ti mt s ít nht các đặc đim là có th phân bit đợc các hc sinh trong ni b mt nhóm.
Chú ý:
1. Trớc tiên phi tho mãn yêu cu ít nhóm nht, trong các cách chia ít nhóm nht mà vn
th phân bit đợc các hc sinh trong mt nhóm thì ch ra mt cách chia phi ng ít đặc
đim nht.
2. Tp các đặc đim đợc chn phi s dng đợc trên tt c các nhóm để phân bit hc sinh.
D liu: Vào t file vn bn GROUP.INP
Dòng 1 ghi hai s n, m
n dòng tiếp theo, dòng th i mô t đặc đim ca hc sinh th i: Gm có m s nguyên mà s th j
là 1 hay 0 tu, theo hc sinh th i có hay không có đặc đim j.
Kết qu: Ghi ra file vn bn GROUP.OUT
Dòng 1: Ghi s k là s nhóm chia ra được
Dòng 2: Ghi các đặc đim được chn để phân bit các hc sinh trong ni b các nhóm
k dòng tiếp theo, dòng th p ghi các hc sinh trong nhóm p
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:
GROUP.INP GROUP.OUT GROUP.INP GROUP.OUT (Không ti u)
10 4
0 0 0 1
0 0 1 0
0 1 1 0
1 0 0 0
1 0 0 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
1 1 1 0
2
1 2 4
2 5 10 1 6
4 3 9 7 8
10 4
0 0 0 1
0 0 1 0
0 1 1 0
1 0 0 0
1 0 0 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
1 1 1 0
2
1 2 3 4
1 2 5 6 7 10
3 4 8 9
78
068. TUA DU LCH R" NHT
Mt khu thng cnh gm n đim đánh s t 1 ti n (n 100) và m đường đi hai chiu gia các cp
địa đim đó, chi phí đi trên các đường đi là biết trước ( 10000).
Mt Tour du lch là mt hành trình xut phát t mt địa đim đi thm 2 địa đim khác và quay tr
v đim xut phát, ngoi tr địa đim xut phát, không địa đim nào b thm ti hai ln. Chi phí ca
mt Tour du lch là tng chi phí các quãng đường đi qua.
Yêu cu: Hãy tìm Tour du lch có chi phí r nht.
D liu: Vào t file vn bn TOUR.INP
Dòng 1: Ghi hai s nguyên dương n, m
m dòng tiếp theo mi dòng có dng x y c. Cho biết đường đi trc tiếp ni địa đim x vi đa
đim y và chi phí đi quãng đường đó là c.
Kết qu: Ghi ra file vn bn TOUR.OUT
Dòng 1: Ghi s 1 nếu như tn ti hành trình theo yêu cu, ghi s 0 nếu không tn ti hành trình.
Nếu dòng đầu tiên ghi s 1:
Dòng th 2 ghi chi phí ca tour tìm được
Dòng th 3 ghi s k là s địa đim ti thm
Dòng th 4 gm k s, s th i địa đim ti thm th i trong tour, quy ước địa đim thm
đầu tiên là địa đim xut phát, địa đim thm th k (địa đim cui cùng) là địa đim mà t đó
quay tr li đim xut phát để kết thúc hành trình.
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:
TOUR.INP TOUR.OUT
5 10
1 3 2
2 4 2
3 5 2
4 1 2
5 2 2
1 2 10
2 3 9
3 4 10
4 5 8
5 1 9
1
10
5
3 5 2 4 1
1
4 3
5 2
2
2
22
2
10
9
10
8
9