Professional Documents
Culture Documents
HANOI
Nguy n H u i n https://nhdien.wordpress.com Email:huudien@vnu.edu.vn Mobile: 0989 061 951
ALGORITHM PROGRAMMING
Gi i thi u
B n th nghi m cho cc b n yu thch l p trnh ph thng v thi Olympic tin h c. Ti c nh l p t p ch i n t v i tn nh trn (l p trang web ring), n i dung cc bi gi ng l p trnh v cc bi thi hay. M i cc b n tham gia v cho ki n. Nh ng bi t p sau y c l y t ti li u su t m trn m ng c bin t p v s a i l i v i n i dung p d ng cc phng php gi i c a tin h c. Cc b n c cc bi hay, su t m hay g i cho ti ti a vo danh sch v i tn ch thch c a b n ho c b n su t m. C g ng c 15 ngy ti ra m t b n lu tr . M i th c m c v yu c u lin h v i: Nguy n H u i n https://nhdien.wordpress.com email:huudien@vnu.edu.vn Hanoi University of Science Center for High-Performance Computing 334 Nguyen Trai, Thanh Xuan, Hanoi Office (84-4) 557 2869 Mobile 0989 061 951
Danh sch bi
Bi 10.1 Bi 10.2 Bi 10.3 Bi 10.4 Bi 10.5 Bi 10.6 Bi 10.7 Gard . . . . . . . . . . . To tam gic . . . . S l a ch n . . . . . . ng i c a con r n Tr m Radar . . . . . . Cn b ng . . . . . . . . Nh gng c i . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 5 7 9 11 12
Hnh 1: nh d ng t p vo: Trong file vn b n gard.inp g m m t dng ghi hai s NK (1 K N 50). nh d ng t p ra: a ra file vn b n gard m t dng duy nh t ch a s M - s cch b tr khc nhau tm c. V d . gard.inp 3 2 12 gard.out
n1[ i ]:= ch[nho mod 10]; nho := nho div 10; end; if nho > 0 then n1:=ch[nho] + n1; end;
Function Nhan(n1,n2:num):Num; var 46 n,nn : num; Sau khi xy d ng xong m ng L, k t qu bi ton 47 i , j , l , l1 , l2 ,nho,x: byte; l L[n]. V n ch gi thi t cho K < N < 50, nn 48 begin k t qu thu c c th s r t l n, v v y ta s dng 49 n:=ch[0]; bi ton v i s l n gi i quy t. Ta lm chng trnh 50 l1:=length(n1); 51 l2:=length(n2); v i php c ng tr s l n (xu). 52 for i :=l2 downto 1 do 53 begin Chng trnh 1: grad.pas 54 {nhan n1 voi chu so thu i } 1 const 55 x:=nu[n2[i ]]; nn:=; nho:=0; 2 fi = grad.inp; 56 for j:=l1 downto 1 do 3 fo = grad.out; 57 begin 4 max = 50; 58 nho:=nho + nu[n1[j]]x; 5 ch:array [0.. 9] of char = (0,1,2,3,4,5,6,7,8,9) ; 59 nn :=ch[nho mod 10] + nn; 6 nu:array [0 .. 9]of byte = ( 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ) ; 60 nho:=nho div 10; 7 type 61 end; 8 num = String; 62 if nho > 0 then nn:=ch[nho] + nn; 9 var 63 {them 0 de hai chuoi cung do dai} 10 n,k : byte; 64 x:=l2i; 11 Cnk : array [1.. max] of num; 65 if Length(n) < Length(nn)+x then l:=length(nn)+x 12 L : array [0.. max] of num; 66 else l :=length(n); 13 f : text; 67 for j:=length( n) +1 to l do n :=ch[0] + n; 68 for j:=length(nn)+x+1 to l do nn:=ch[0] + nn; 15 procedure readf; 69 {cong them chuoi nn vao ket qua} 16 begin 70 nho:=0; 17 assign ( f , fi ) ; 71 for j:=l x downto 1 do 18 reset( f ) ; 72 begin 19 readln(f ,N,K); 73 nho :=nho + nu[n[j]] + nu[nn[j ]]; 20 close ( f ) ; 74 n[ j]:=ch[nho mod 10]; 21 end; 75 nho :=nho div 10; 76 end; 23 procedure Tang(var n1:num;n2:Num); 77 if nho > 0 then n:=ch[nho] + n; 24 var 78 end; 25 l , i ,nho,l1 , l2 :Byte; 79 Nhan:=n; 26 Begin 80 end; 27 {them 0 de hai chuoi cung do dai} 28 l1:=length(n1); 82 procedure QHD; 29 l2:=length(n2); 83 var 30 if l1 < l2 then l:=l2 else l :=l1; 84 i , j , jj : Byte; 31 for i :=l1+1 to l do n1:=ch[0]+n1; 85 so1,so2 : num; 32 for i :=l2+1 to l do n2:=ch[0]+n2; 86 begin 33 {cong chuoi n2 vao chuoi n1} 87 for i :=1 to K do Cnk[i]:=ch [0]; 34 nho:=0; 88 L[0]:=ch [1]; 35 for i :=l downto 1 do 89 for i :=1 to N do L[i]:=ch [0]; 36 begin 90 for i :=1 to N do 37 nho := nho + nu[n1[i ]] + nu[n2[i ]]; Nguy n H u i n 2/14 https://nhdien.wordpress.com
begin if k < i then jj :=k else jj :=i ; so1:=ch[1]; for j:=1 to jj do begin {Tinh to hop chap j cua i } so2:=cnk[j ]; Tang(cnk[j ], so1) ; so1:=so2; Tang(L[i ], Nhan(Cnk[j],L[ i j]) ) ; end; end; end; procedure writef;
106 107 108 109 110 111 112 113 115 116 117 118 119
var f : text; begin assign ( f , fo) ; rewrite(f ) ; write(f ,L[n]) ; close ( f ) ; end; begin readf ; QHD; writef ; end.
gic u th ghi 3, l nh c a hnh thoi th ghi 4, l nh c a l c gic u th ghi 6. N u khng thu c cc tr ng h p trn th ghi 0. M i s ghi trn m t dng. V d . vertices.inp 1 2 3 11 13 29 31 26 11 13 24 4 5 9 13 12 7 1 2 3 4 5 47 8 10 17 21 32 34 vertices.out 3 0 4 6 0 0 6
Hnh 2: Cc i m ny c nh s theo th t t tri qua ph i, t trn xu ng d i (m i d u * bi u th m t s ). M t nhm nh ng i m ny s t o thnh nh c a m t hnh hnh h c nh t nh. V d nh t p h p cc i m {1, 2, 3} l nh c a m t hnh tam gic, t p h p {11, 13, 26, 24} l nh c a m t hnh bnh hnh, t p h p {8, 10, 17, 21, 32, 34} l nh c a m t l c gic u. Yu c u: Vi t chng trnh c t ng t p h p i m trn l i tam gic, xt xem chng c l t p nh c a m t trong nh ng lo i hnh sau khng: tam gic u, hnh thoi, l c gic u. Hnh ph i tho mn c hai i u ki n sau: 1. Cc c nh c a hnh ph i song song v i c nh c a l i. 2. Cc c nh c a hnh ph i c di b ng nhau. nh d ng t p vo: File vertices.inp g m nhi u t p h p i m. M i t p h p c ghi trn m t dng v khng c qu 6 s trong kho ng t 1..2.000.000.000 nh d ng t p ra: File vertices.out. V i m i t p h p i m nh n c, ph i xt xem n u l nh c a hnh tam Nguy n H u i n 3/14
function KhoangCach(a,b:td): integer; begin with a do if x<>b.x then KhoangCach:=abs(xb.x) else KhoangCach:=abs(yb.y); end;
function SongSong(a,b: td):Boolean; begin SongSong:= (a.x=b.x) or (a.y=b.y) or ((a.xa.y)=(b.x end; function Trung: boolean; var i , j : integer; begin Trung:=true; for i :=1 to n1 do for j:=i+1 to n do if (h[ i ]. x=h[j ]. x) and (h[i ]. y=h[j ]. y) then break; Trung:=false; end; procedure Chuyen(sou: longint; var des: td) ; begin with des do begin x:=trunc(sqrt (sou2)); y:=sou(x(x1) div 2); if y>x then begin inc (x) ; y:=sou(x(x1) div 2); end; end; end; procedure Chuan; var i , min: integer; begin for i :=1 to n do Chuyen(r[i ], h[ i ]) ; min:=1; for i :=2 to n do if r [ i ] vt:=0; dai:=0; for i :=1 to n do with h[min] do if (n=4) or (n=3) then begin if ( i <>min) and ((h[i].x>x) and ((h[i ]. y=y) or (h[ i ]. xh[i ]. y=xy))) then begin vt:=i ;
program ToaDoTamGiac; const fin =vertices.inp; fou=vertices.out; type td = record x,y: longint ; end; var h: array [0..7] of td; r : array [0..7] of longint ; n, vt , dai : integer; fi , fo : text; procedure moFile; begin assign ( fi , fin ) ; reset( fi ) ; assign (fo ,fou) ; rewrite(fo) ; end; procedure dongFile; begin close ( fi ) ; close (fo) ; end; procedure InKetQua; begin writeln(fo ,n); end; 4/14
Nguy n H u i n
https://nhdien.wordpress.com
dai:=h[i ]. xx; break; end end else if ( i <>min) and ((h[i].x>x) and (h[i ]. y=y)) then begin vt:=i ; dai:=h[i ]. xx; break; end end;
115 116 117 118 119 120 122 123 124 125 126 127
begin n:=0; exit ; end; end; end; procedure XuLy; begin while not EOF(fi) do begin n:=0; while not EOLn(fi) do begin inc (n); read( fi , r [n]) ; end; readln( fi ) ; case n of 3,4,6: XetTiep; else n:=0; end; InKetQua; end; end;
128 procedure XetTiep; 129 var i , j , dem: integer; 130 begin 131 Chuan; 132 if Trung then 133 begin 134 n:=0; 135 exit ; 136 end; 137 for i :=1 to n do 138 begin 139 dem:=0; for j:=1 to n do 141 BEGIN if i <>j then 142 if SongSong(h[i],h[ j ]) and (KhoangCach(h[i],h[j ]) =dai) moFile; 143 XuLy; 144 dongFile ; then 145 END. inc (dem); if dem<2 then
vin s d i kh i hng. n y k t thc m t l t m. Lu r ng, nhn vin th 2 m ng th i v i nhn vin th 1, do anh ta c th m c ng i v tr k t thc m c a nhn vin th nh t, ngoi ra, n u v tr k t thc m c a hai nhn vin l trng nhau th ch c m t ng i ph i r i kh i hng. Sau khi nh ng ng i khng may m n r i kh i hng, m i nhn vin l i ti p t c l t m m i b t u t ng i ng c nh ng i v a b lo i theo vng m c a h . Ng i ph i r i kh i hng cu i cng theo th t c l a ch n trn l ng i c nh n gi i. N u l t m cu i cng, c hai ng i ph i ng th i r i kh i hng th c hai ng i ny u c nh n gi i. nh d ng t p vo: D li u vo trong file vn b n c tn chon.inp trong ghi 5 s N, m, k, p, q cch nhau b i t nh t m t d u cch. nh d ng t p ra: K t qu ghi ra file vn b n chon.out
Nguy n H u i n
5/14
https://nhdien.wordpress.com
Var j : Longint; Begin j:=0; i :=i 1; Repeat inc ( i ) ; if i =N+1 then i:=1; if A[i ] then inc( j ) ; Until j=p; P1:=i; End; Function P2(i : Byte) : Byte; Var j : Longint; Begin j:=0; i :=i+1; Repeat dec( i ) ; if i =0 then i:=N; if A[i ] then inc( j ) ; Until j=q; P2:=i; End; Procedure Select; Var people : Byte; i , j : Byte; Begin people:=N; c:=0; Repeat inc (c) ; i :=P1(m); j:=P2(k); if i <>j then Begin Writeln(F,i , , j ) ; A[i]:=False; A[j]:=False; people:=people2; End Else Begin Writeln(F,i) ; A[i]:=False; dec(people) ; End; if i if j>1 then k:=j1 else k:=N; Until people=0; End; Procedure Run; Begin Enter; Fillchar (A,Sizeof (A),True); Assign(F,Temp.out) ;
Program Lua_Chon_Seagame; Const Max = 100; Fi = chon.inp; Fo = chon.out; Var A : Array [1.. Max] of Boolean; N,m,k : Byte; p,q,c : Longint; F,G : Text; Procedure Enter; Begin Assign(F,Fi) ; Reset(F); Read(F,N,m,k,p,q); Close(F); End; Function P1(i : Byte) : Byte; 6/14
Nguy n H u i n
https://nhdien.wordpress.com
Rewrite(F); Select ; Close(F); Assign(F,Temp.out) ; Reset(F); Assign(G,Fo); Rewrite(G); Writeln(G,c); For p:=1 to c do Begin While not seekeoln(F) do Begin Read(F,m);
83 84 85 86 87 88 89 90 91 92
Write(G,m,); End; Writeln(G); Readln(F); End; Close(F); Close(G); End; BEGIN Run; END.
- Dng u ghi s nguyn dng N (1 N 32) ch s cc en. - Trn N dng ti p theo, m i dng ghi to m t en trn d i d ng Xn, trong X (l cc ch ci la tinh vi t hoa t A n Z) ch c t v n(1 n 8) ch dng. Ch r ng khng c en t i cc A1 v A2. nh d ng t p ra: Ghi trn file snal.out g m 2 dng: - Dng u ghi s b c tho yu c u a). - Dng th nh ghi s b c tho yu c u b). V d . snal.inp 3 A6 E2 F5 13 32 snal.out
Hnh 4: Con R n lun b t u t i A1, v lun b t u vi c di chuy n b ng cch i h ng xu ng d i. V tr c a cc v t c n (t c l cc en) c cho bi t tr c. Yu c u: Tm s m con r n i qua cho n khi khnng i c n a v tho mn: a) Con r n lun i v pha bn tri c a n. b) Con r n i sao cho s i qua l l n nh t V d : Hnh v trn cho ta hnh nh c a m t l i v i ba en (t i cc v tr A6,E2 v F5). ng i tho cu a) l: i t A1 n A5, quay sang tri n E5. T E5 quay tri n E3, quay tri, i th ng v d ng B3. Con r n i qua 13 . ng i tho cu b) c cho ng i ni trn i qua 32 . l i vung bn ph i.
end; end; procedure Getmax; begin if max=0 then begin left :=dem; max :=dem; end else if dem>max then max:=dem; end;
uses crt ; const fi =Snail.inp; go=Snail.out; hx:array [1..4] of integer=(1,0,1,0); hy:array [1..4] of integer=(0,1,0,1); maxn=8; type arr=array[0..maxn+1,0..maxn+1] of integer; var a : arr ; max, left ,m,dem :integer; s : string ; f ,g :text; procedure Openf; begin assign ( f , fi ) ; reset( f ) ; assign (g,go); rewrite(g); end; procedure Closef; begin close ( f ) ; close (g); end; procedure Input; var i :integer; begin readln(f ,m); for i :=1 to m do begin readln(f ,S); a[ord(S [2]) ord(0),ord(S [1]) 64]:=1; end; end; procedure Khoitao; var i :integer; begin for i :=0 to 9 do begin a [0, i ]:=1; a [9, i ]:=1; end; for i :=1 to 8 do begin a[ i ,0]:=1; a[ i ,9]:=1; 8/14
procedure Run(x,y,k:integer); var k1,k2:integer; begin a[x,y]:=2; dem:=dem+1; if a[x+hx[k],y+hy[k]]=0 then Run(x+hx[k],y+hy[k],k) else begin if a[x+hx[k],y+hy[k]]=2 then getmax else if a[x+hx[k],y+hy[k]]=1 then begin k1:=k+1;k2:=k1; if k1=5 then k1:=1; if k2=0 then k2:=4; if a[x+hx[k1],y+hy[k1]]=0 then Run(x+hx[k1],y+hy[k1],k1) else Getmax; if a[x+hx[k2],y+hy[k2]]=0 then Run(x+hx[k2],y+hy[k2],k2); end; end; dem:=dem1; a[x,y]:=0; end; procedure Print; var i , j :integer; begin writeln(g, left 1); writeln(g,max1); end; begin openf; input ; Khoitao; Run(1,1,1);
Nguy n H u i n
https://nhdien.wordpress.com
Print ; closef ;
106
end.
Hnh 5:
nh d ng t p vo: radar.inp. File input l m t b g m nhi u test. Dng u m i test g m 2 s nguyn n(n <= 1000) v d, trong n l s o trn bi n, d l kho ng bao ph c a Radar. M i dng trong n dng ti p theo l hai s nguyn ch to c a t ng o. Cc test cch nhau m t dng tr ng. D li u vo k t thc b i m t dng g m hai s 0 nh d ng t p ra: radar.out . M i dng l m t s nguyn th hi n s Radar t i thi u tm c cho m i test. Ghi -1 n u khng c ci t c V d . radar.inp 3 2 1 2 -3 1 2 1 1 2 0 2 0 0 Nguy n H u i n 2 1 radar.out
5 6 7 8 9 10 11 12
const fi =radar.inp; go=radar.out; maxn=1000; Type Square=record x,y: real ; end; var L :array [1.. maxn] of square; b :array [1.. maxn] of boolean; T :square ; n,dem,d : longint ; find , thoat :boolean; f ,g :text; https://nhdien.wordpress.com
9/14
procedure openf; begin assign ( f , fi ) ; reset( f ) ; assign (g,go); rewrite(g); end; procedure Closef; begin close ( f ) ; close (g); end; procedure Swap(var A,B:square); var T:square; begin T:=A; A:=B; B:=T; end; procedure Solve; var i , j : longint ; begin for i :=1 to n1 do for j:=i+1 to n do begin if L[ i ]. x>L[j ]. x then swap(L[i ], L[ j ]) ; if (L[ i ]. x=L[j ]. x) and (L[i ]. y>L[j ]. y) then swap(L[i ], L[ j ]) ; end; end; procedure Giao(var Q,P:square); var i : longint ; begin if Q.y else begin Q.x:=P.x; if Q.y>P.y then Q.y:=P.y; end; end; procedure Xuli; var i , j : longint ; begin dem:=0; fillchar (b, sizeof (b),1) ; for i :=1 to n do if b[ i ] then begin inc (dem); T := L[i ]; 10/14
68 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 114 115 116 117 118
j := i ; find := true; while find do begin j := j+1; if j>n then exit; giao(T,L[j ]) ; if find then b[j ] := false ; end; end; end; procedure Print; begin writeln(g,dem); end; procedure Process; begin Solve ; Xuli ; Print ; end; procedure Main; var i ,x,y : longint ; k : real ; begin while not eof( f ) do begin readln(f ,n,d); if n=0 then exit; fillchar (L, sizeof (L),0) ; thoat:=false ; for i :=1 to n do begin readln(f ,x,y) ; K:=sqr(d)sqr(y); if k<0 then thoat:=true else k:=sqrt(k); L[ i ]. x:=xk; L[ i ]. y:=x+k; end; if thoat then writeln(g,1) else Process; readln(f) ; end; end; begin Openf; Main; Closef ; end.
Nguy n H u i n
https://nhdien.wordpress.com
- Gn nhn cho t ng nt, gi tr c a nhn s c tnh nh sau: - Cc l (cc nt nhn l 1. bin, khng c nt con no) c
- Cc nt cn l i c nhn l t ng gi tr cc nhn con tr c ti p c a n c ng thm 1 (tnh cho nt ). Nh v y, nhn c xy d ng ng c t cc nt l i ln. - Tnh cn b ng cho t ng nt: Theo bi "Xa b t c nt no trong cy s sinh ra m t r ng: r ng l m t t p h p m t ho c nhi u cy". Theo cch tnh nhn nh trn, s l ng cy trong r ng khi xo b t k m t nt no b ng s nt con c a n c ng thm 1. V d nt 2 trong hnh v n u b xo i s sinh ra 4 cy, s nt trong m i cy b ng chnh nhn c a nt con tr c ti p c a 2, tr cy th t c s nt b ng t ng s nt ban u tr i nt 2 v t ng s nt c a cc cy con cn l i.
Hnh 6: Xo nt 4 t o ra hai cy v i cc nt c a chng l {5} v {1, 2, 3, 6, 7}. Cy l n hn trong hai cy c nm nt, do cn b ng c a nt 4 l nm. . . D li u vo l m t cy, tnh xem nt no c cn b ng nh nh t. N u nhi u nt c cng cn b ng, hy in ra nt c th t b nh t. nh d ng t p vo: T p balance.inp Dng u: N M i dng trong N 1 dng ti p theo c hai s ch hai i m c a c a m t c nh trong cy . Khng c c nh no xu t hi n hai l n trong file, t t c cc c nh c trong cy u c thng bo. nh d ng t p ra: T p balance.out Dng u l s th t c a nt c cn b ng nh nh t Dng ti p l cn b ng c a nt V d . balance.inp 7 2 1 1 4 3 3 6 2 4 5 7 1 1 2 balance.out
Program Balacing; const fin =balance.inp; fou=balance.out; nmax=20000; type m1= array[0..nmax+1] of integer; var n: integer; a: m1; https://nhdien.wordpress.com
d,c, tr , t : ^m1; f : text; procedure nhap; var i : integer; begin new(d); new(c); new(tr); new(t); assign ( f , fin ) ; reset( f ) ; readln(f ,n); for i :=1 to n1 do readln(f,d^[i ], c^[ i ]) ; close ( f ) ; end; procedure inkq; var i ,min:integer; begin dispose(d); dispose(c) ; dispose( tr ) ; dispose(t) ; min:=1; for i :=2 to n do if a[ i ] assign ( f , fou) ; rewrite(f ) ; writeln( f ,min); writeln( f ,a[min]); close ( f ) ; end; procedure xuli; var i , j ,dem,bac: word; x,y: word; begin fillchar (a, sizeof (a) ,0) ; for i :=1 to n do t^[ i ]:=1; dem:=0;
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 82 83 84 85 86
while dem begin for i :=1 to n1 do begin x:=d^[i ]; y:=c^[i ]; if (a[x]<>1) and (a[y]<>1) then begin inc (a[x ]) ; tr^[x]:=y; inc (a[y ]) ; tr^[y]:=x; end; end; for i :=1 to n do if a[ i ]=1 then begin a[ i ]:=1; inc (t^[tr^[ i ]], t^[ i ]) ; inc (dem); end else if a[ i ]<>1 then a[i]:=0; end; for i :=1 to n do begin if a[ i ]=0 then tr^[i ]:=0; a[ i ]:=nt^[i]; end; for i :=1 to n do if t^[ i ]>a[tr^[ i ]] then a[ tr^[ i ]]:= t^[ i ]; end; begin nhap; xuli ; inkq ; end.
v ra c a nh gng. Gi thi t r ng gc trn tri v d i ph i c a b ng lun ch a d u ch m. H th ng gng cng c t bao quanh cc c t ng, t c l cc c d u thng. B n c n gip ban qu n l tnh di n tch gng c n mua hay di n tch c a cc b c t ng pha trong c a nh gng l ph n nhn th y c b i du khch vo chi. Bi t r ng chi u cao m i b c t ng u l 3 mt. nh d ng t p vo: D li u: t t p mirror.inp - Dng u tin ch a s N.
Nguy n H u i n
12/14
https://nhdien.wordpress.com
const fi =Mirror.inp; fo=Mirror.out; MaxN = 101; tu:array [1..4] of integer = (1,0,1,0); tv :array [1..4] of integer = (0,1,0,1); var a:array [0.. MaxN,0..MaxN] of byte; n,count: longint ; f :text; procedure init ; var i , j :integer; kt :char; begin count:=0; assign ( f , fi ) ; reset( f ) ; readln(f ,n); fillchar (a, sizeof (a) ,0) ; for i :=1 to n do begin for j:=1 to n do begin read(f , kt) ; if kt = . then a[i , j ]:=1; end; readln(f) ; end; close ( f ) ; end; procedure spread(u,v:byte); var i :integer; begin a[u,v]:=2; for i :=1 to 4 do begin if a[tu[ i ], v+tv[i ]] = 0 then inc(count) else if a[tu[ i ], v+tv[i ]] = 1 then spread(tu[ i ], v+tv[i ]) ; end; end; procedure ShowResult; var i , j :integer; begin assign ( f , fo) ; rewrite(f ) ; count:=count 4; write(f ,count9); close ( f ) ; end; begin
Nguy n H u i n
13/14
https://nhdien.wordpress.com
57
end.
Nguy n H u i n
14/14
https://nhdien.wordpress.com