Cho xâu S độ dài không quá 10^6 ('a' -> 'z'). Đếm có bao nhiêu kí tự xuất hiện trong S và số lần xuất hiện nhiều nhất Yêu cầu: Dùng file
2 câu trả lời
Const Fi='DSTR.INP';
Fo='DSTR.OUT';
Var f,g: text;
St: ansistring;
dem: array['a'..'z'] of longint;
A: array[1..1000000] of ansistring;
k: char;
i: longint;
max,d,n: qword;
Begin
Assign(f,Fi); Reset(f);
Assign(g,Fo); Rewrite(g);
n:=0;
While not eof(f) do
Begin
inc(n);
Readln(f,A[n]);
End;
St:='';
For i:=1 to n do
St:=St+A[i];
For k:='a' to 'z' do
dem[k]:=0;
For i:=1 to length(St) do
For k:='a' to 'z' do
If St[i]=k then inc(dem[k]);
d:=0; max:=0;
For k:='a' to 'z' do
Begin
If dem[k]<>0 then inc(d);
If dem[k]>max then max:=dem[k];
End;
Writeln(g,d);
Write(g,max);
Close(f);
Close(g);
End.
uses crt;
var n,i,m,j,kt,t,max:longint; d:text; a,b:string;
begin
clrscr;
assign(d,'input.pas');reset(d);
readln(d,a); n:=length(a);
close(d);
assign(d,'output.pas'); rewrite(d);
for i:=1 to n do
begin
kt:=0;
for j:=1 to m do If a[i]=b[j] then kt:=1;
If kt=0 then begin inc(m); b[m]:=a[i]; end;
end;
writeln(d,m);
max:=0;
for i:=1 to m do
begin
t:=0;
for j:=1 to n do If b[i]=a[j] then inc(t);
If t>max then max:=t;
end;
writeln(d,max);
close(d);
readln
end.