Chọn HSG lớp 12 Bạc Liêu 2012 - Bảng A - Ngày 2 - Bài 2/3
Cho xâu s gồm ít nhất 3 kí tự số. Xóa bỏ một số kí tự trong xâu s chỉ để lại 3 kí tự số sao cho, vẫn giữ nguyên thứ tự của chúng tạo nên một số có giá trị lớn nhất.
- Dữ liệu vào: từ tệp f1 gồm 1 dòng chứa xâu s
- Dữ liệu ra: Ghi ra tệp f2 xâu s chứa 3 kí số còn lại tạo thành số lớn nhất.
Ví dụ:
Cau3.inp
124512 Hoc tin8126123
Cau3.out
863
Lời giải tham khảo
Program BL3;
Var F: text;
a, b, m1, m2, m3: string;
c: array[1..100] of longint;
k: char;
i, j, d, h, g: longint;
e, max: integer;
BEGIN
Assign(F,'BL2.INP');
Reset(F);
Readln(F,a);
Close(F);
Assign(F,'BL2.OUT');
Rewrite(F);
j:= 0;
For i:= 1 to length(a) do
For k:= '0' to '9' do
If a[i]= k then
Begin
j:= j+ 1;
Val(a[i],c[j],e);
End;
d:= j;
max:= c[1];
For i:= 2 to d- 2 do
If c[i]> max then
Begin
max:= c[i];
g:= i;
End;
Str(max,m1);
max:= c[g+ 1];
For i:= g+ 2 to d- 1 do
If c[i]> max then
Begin
max:= c[i];
g:= i;
End;
Str(max,m2);
max:= c[g+ 1];
For i:= g+ 2 to d do
If c[i]> max then
Begin
max:= c[i];
g:= i;
End;
Str(max,m3);
b:= m1+ m2+ m3;
Writeln(F,b);
Close(F);
END.
No comments:
Post a Comment
Cảm ơn bạn đã nhận xét