Решение
Тема: поиск максимума, обработка текста
Сложность: низкая
Для каждой буквы считаем, сколько раз она встречается в каждом из слов и находим максимум из этих значений.
var
n,i,j,m,k:integer;
w:array [1..100] of string;
c:char;
begin
readln(n);
for i:=1 to n do
readln(w[i]);
for c:='A' to 'Z' do
begin
m:=0;
for i:=1 to n do
begin
k:=0;
for j:=1 to length(w[i]) do
if w[i][j]=c then
inc(k);
if k>m then
m:=k;
end;
if m>0 then
writeln(c,' ',m);
end;
end.
Нахождение максимума можно совместить с вводом, используя массивы максимумов и количеств для каждой буквы.
var
n,i,j:integer;
w:string;
c:char;
k1,ka:array['A'..'Z']of integer;
begin
readln(n);
for c:='A' to 'Z' do
ka[c]:=0;
for i:=1 to n do
begin
readln(w);
for c:='A' to 'Z' do
k1[c]:=0;
for j:=1 to length(w) do
inc(k1[w[j]]);
for c:='A' to 'Z' do
if k1[c]>ka[c] then
ka[c]:=k1[c];
end;
for c:='A' to 'Z' do
begin
if ka[c]>0 then
writeln(c,' ',ka[c]);
end;
end.