mọi người giải thích bài này giùm mình khó quá không hiểu - thanks

[h=1]Cho một số nguyên dương N gồm có M chữ số. (1
clip_image002.gif
M
clip_image004.gif
200).[/h][h=1]Yêu cầu: Xóa đi K chữ số trong N để thu được số N’ sao cho N’ có giá trị nhỏ nhất.[/h][h=1](K
clip_image004.gif
M).[/h]Dữ liệu vào: Cho trong file văn bản XOASO.INP có cấu trúc như sau:
Dòng 1: Ghi số hai số nguyên dương N K. Hai số được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra: Ghi ra file văn bản XOASO.OUT theo cấu trúc như sau:
Dòng 1: Ghi số N’ tìm được. (Vẫn giữ các chữ số 0 ở đầu số nếu có)
Ví dụ:
XOASO.INP
XOASO.OUT
XOASO.INP
XOASO.OUT
123952 2
1232
95002 2
002


const
fi='xoaso.in7';
fo='xoaso_OU7';
var f,g:text;
k,i,j,n,code,a,b:integer;
sok,s:string;
dd:integer;
begin
assign(f,fi);
assign(g,fo);
reset(f);
rewrite(g);
read(f,s);
for i:=length(s) downto 1 do if s=' ' then begin
sok:= copy(s,i+1,length(s)-i); break end;
val(sok,k,code);
writeln(k);
delete(s,pos(' ',s), length(s)-pos(' ',s)+1);
writeln(s);
for i:=1 to k do
begin
j:=1;
dd:=length(s);
while j<length(s) do
begin
val(s[j],a,code);
val(s[j+1],b,code);
if a>b then
begin
delete(s,j,1);
break
end
else inc(j);
end;
if j=dd then delete(s,dd,1);
end;
write(g,s);
close(f);
close(g);
end.
 

Thống kê

Chủ đề
100,746
Bài viết
467,573
Thành viên
339,849
Thành viên mới nhất
chicstore.accessories
Top