(Время: 1 сек. Память: 16 Мб Сложность: 31%)
Дан некоторый набор букв и словарь. Ваша задача -
подсчитать, сколько различных слов из словаря можно составить из этих букв.
Входные данные
В первой строке файла INPUT.TXT записано число N -
количество слов в словаре (0 ≤ N ≤ 1000). В следующих N строках файла записано
по одному слову из словаря. Слова содержат от 1 до 10 маленьких английских
букв. Все слова в словаре различны. В последней строке файла записан набор букв
(от 1 до 100 букв).
Выходные данные
Запишите в файл OUTPUT.TXT количество различных слов из
словаря, которые можно составить из заданного набора букв.
Примеры
№
|
INPUT.TXT
|
OUTPUT.TXT
|
1
|
7
ant bee cat dog ewe fly gnu bew |
0
|
2
|
7
bee fly cat dog ant ewe gnu tancugd |
3
|
Решение:
var s,p:string; a:array[1..1000] of string[10];i,j,n,c,o,d:integer;
f,f1:text;
begin
assign(f,'input.txt');
reset(f);
assign(f1,'output.txt');
rewrite(f1);
readln(f,n);
for i:=1 to n do
readln(f,a[i]);
readln(f,s); d:=0;
for i:=1 to n do
begin
o:=0;p:=s;
for j:=1 to length(a[i]) do
begin
c:=pos(a[i][j],p);
if c>0 then begin o:=o+1; delete(p,c,1); end;
end;
if o=length(a[i]) then d:=d+1;writeln;
end;
write(f1,d);
close(f1); close(f);
end.
Комментариев нет:
Отправить комментарий