Professional Documents
Culture Documents
Bi 2
Vit chng trnh sinh ngu nhin cc s nguyn v ghi vo mt mng hai chiu A[1..n,1..n] sao cho cc phn t
i xng nhau qua ng cho chnh, ngha l A[i,j] = A[j,i]. (n nhp vo t bn phm v n>=3)
* Gii thut
V d di y l mt mng hai chiu c phn t i xng nhau qua ng cho chnh
1
2
N
1
3
6
23
61
2
6
5
45
7
23
45
8
18
N
61
7
18
9
ng cho chnh
c c mt mng i xng nhau qua ng cho chnh, ta ch cn cho pht sinh s ngu nhin ng cho
v mt na phn ca mng (trn hoc di). Na mng cn li ch vic ly i xng A[j,i] = A[i,j]
1
2
3 A[1,1]
A[2,1] = A[1,2]
A[,1] = A[1,]
A[N,1]=A[1,N]
6 A[1,2]
5 A[2,2]
A[,2]=A[2,]
A[N,2]=A[2,N]
23 A[1,..]
45 A[2,]
8 A[,]
A[N,]=A[,N]
N
61 A[1,N]
7 A[2,N]
18 A[,N]
9 A[N,N]
End;
End;
Begin
Clrscr;
Writeln('Nhap kich thuoc cua mang');
Readln(n);
NHAPMANG(n);
XUATMANG(n);
Readln;
End.
Bi 3:
Bnh l mt hc sinh lp 1 rt nghch. Em ly ko ct mt t giy hnh ch nht ra thnh cc mnh nh. Bnh ct
theo chiu song song vi cc cnh ca hnh ch nht (t tri qua phi hoc t trn xung di)
Yu cu bi ton:
Cho s ln ct ca Bnh l N, tnh s mnh hnh ch nht c to ra nhiu nht c th sau N ln ct.
Hy vit chng trnh nhp vo s N (0<N<=100) l s ln ct ca Bnh. In ra mn hnh s lng giy nhiu nht c
th.
* Gii thut
Vi N = 2
3 mnh
3 mnh
4 mnh (Max)
4 mnh
4 mnh
6 mnh (Max)
Vi N = 3
6 mnh (Max)
Vi N 4
5 mnh
5 mnh
8 mnh
9 mnh (Max)
8 mnh
- Qua cc v d trn, ta thy s lng mnh giy nhiu nht th phi chia s ln ct ra lm hai (nu s ln ct l
l th ly phn nguyn trong php chia cho 2). Mt na s ln ct theo chiu dc, s ln cn li ct theo chiu
ngang (hoc ngc li).
V d: N= 2
N div 2 c kt qu l 1: ct 1 ngang, 1 dc
N=3
N div 2 c kt qu l 1: ct 1 ngang, 2 dc (hoc ngc li)
N=4
N div 2 c kt qu l 2: ct 2 ngang, 2 dc
N=5
N div 2 c kt qu l 2: ct 2 ngang, 3 dc hoc ngc li.
- Gi Ngang,Doc l s ln ct theo chiu ngang, chiu dc. Khi s chia chiu dc ca hnh ch nht thnh Ngang
+ 1 on; chia chiu ngang ca hnh ch nht thnh Doc + 1 on. Khi s mnh giy nhiu nht chnh l
(Ngang+1)*(Doc+1)
Ngang:=N div 2;
Doc: = N Ngang;
So manh lon nhat la (Ngang+1)*(Doc+1);
* Li gii:
Program manhgiay;
uses crt;
Var n,ngang, doc:Integer;
Begin
Clrscr;
Write('Nhap so nhat cat');
Readln(n);
ngang:=N div 2;
doc:=N - ngang;
Writeln('So manh giay lon nhat la ',(ngang+1)*(doc+1),' manh');
Readln;
End.
Bi 4
An li xe ti trn mt con ng di, trn ng c nhiu n giao thng. Mi n giao thng An bit trc thi
gian n sng cng nh thi gian n xanh sng (chu k ny c lp i lp li). Khi bt u chuyn i tt c
cc n bt l n . Mi giy An i c 1 n v khong cch. Trong qu trnh di chuyn nu gp n An
dng li v ch cho ti khi n xanh c bt.
Vit chng trnh xc nh gip An cn bao nhiu thi gian n c ch (cui con ng). Cho con
ng c chiu di l L n v khong cch. An ng v tr xut pht l u con ng c khong cch bng 0.
D liu vo: T tp tin vn bn DGTHONG.INP c cu trc:
- Dng u tin cha 2 s nguyn N v L vit cch nhau mt khong trng (1<=N<=100, 1<=L<=1000) l s
n giao thng v chiu di con ng.
- N dng tip theo, mi dng cha 3 s nguyn D, R, G (1<=D<L, 1<=R<=100, 1<=G<=100) vit cch nhau
mt khong cch trng, trong :
+ D l v tr khong cch t v tr bt u ti n giao thng.
+ R l thi gian n sng (n v l giy)
+ G l thi gian n xanh sng (n v l giy)
Nhng n giao thng c sp xp theo th t tng dn ca D.
D liu ra: Ghi ra tp tin vn bn DGTHONG.OUT mt s nguyn dng l thi gian An ti cui con ng.
* Gii thut
V d
DGTHONG.INP DGTHONG.OUT
2 10
12
355
522
R=5(s)
G=5(s)
R=2(s)
G=2(s)
D=3
C
D=5
L= 10
Gi t l thi gian xe i, x l qung ng xe i c.
t:=0;
x:=0;
Thi gian xe i c ti ct n th nht:
t:=t+D;
Qung ng xe i c ti ct n th nht:
x:=x+D;
* X l khi xe gp n giao thng: n sng u tin ri ti n xanh nn ht mt chu trnh ca mt lt s
mt (thi gian n (R) + thi gian n xanh(G)) giy.
xc nh sau mt khong mt thi gian t, xe gp n xanh hay n ta ly
t mod (R + G)
Trong khi t mod (R + G) < R (c ngha l xe gp n th phi dng li)
t:=t+1; (tng thi gian t ln 1 giy chnh l thi gian xe ng ch n )
Sau khi s dng vng lp gii quyt xe i t ct n 1 n ct n th 2 xong, th thi gian i qung ng cn
li chnh L x (L l chiu di c qung ng; x l qung ng i c khi ti ct n th 2)
Khi tng thi gian xe i ti ch l t:=t + (L-x); (t l thi gian i c khi ti ct n th 2).
* Li gii:
Program giaothong;
uses crt;
Var N,L:Integer;
D,R,G:Integer;
i,x,t:Integer;
f,f1:Text;
Begin
Assign(f,'DGTHONG.INP');
Reset(f);
Readln(f,N,L);{ c gi tr 2 vo bin N, gi tr 10 vo bin L}
x:=0;
t:=0;
{Xu ly du lieu xe di den cot den thu 1 den cot den thu N}
For i:=1 to N do
Begin
Readln(f,D,R,G); {c ln lt b gi tr (3, 5, 5) v (5, 2, 2) vo bin (D,R,G)}
t:=t+D;
x:=x+D;
While t mod (R+G) < R do
t:=t+1; {Cng thm thi gian khi xe ng ch n }
End;
{Tinh tong thoi gian khi xe den dich}
t:=t+L-x;
Assign(f1,'DGTHONG.OUT');
Rewrite(f1);
Writeln(f1,t);
Close(f);
Close(f1);
End.