Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Program skroty(output);
{type skr=string[5];}
var
pl:ansistring;
wr,d,licz,i,l,il:longint;
w1:array[0..25] of longint;
w2:array[0..675] of longint;
w3:array[0..17575] of longint;
w4:array[0..456975] of longint;
{skrs: array[1..100000] of skr;}
s1,s2,s3,s4,ass:string;
z1,z2,z3,z4,ac:char;
function oblicz1(var sk1:string):integer;
var a1s:char;
begin
a1s:=sk1[1];
oblicz1:=ord(a1s)-65;
end;
Function oblicz2(var sk2:string):integer;
var a1s, a2s:char;
wart:integer;
begin
a1s:=sk2[1];
a2s:=sk2[2];
wart:=(ord(a1s)-65)+26*(ord(a2s)-65);
oblicz2:=wart;
end;
Function oblicz3(var sk3:string):integer;
var a1s, a2s, a3s:char;
wart:integer;
begin
a1s:=sk3[1];
a2s:=sk3[2];
a3s:=sk3[3];
wart:=(ord(a1s)-65)+26*(ord(a2s)-65)+26*26*(ord(a3s)-65);
oblicz3:=wart;
end;
Function oblicz4(var sk4:string):longint;
var a1s, a2s, a3s, a4s:char;
wart:longint;
begin
a1s:=sk4[1];
a2s:=sk4[2];
a3s:=sk4[3];
a4s:=sk4[4];
wart:=(ord(a1s)-65)+26*(ord(a2s)-65)+26*26*(ord(a3s)-65)+26*26*26*(ord(a4s)-65);
oblicz4:=wart;
end;
{**************************** GŁÓWNY **********************************}
begin
for i:=0 to 25 do w1[i]:=0;
for i:=0 to 675 do w2[i]:=0;
for i:=0 to 17575 do w3[i]:=0;
for i:=0 to 456975 do w4[i]:=0;
readln(pl);
readln(il);
d:=length(pl);
pl:=pl+'@@@';
for i:= 1 to d do
begin
z1:=pl[i];z2:=pl[i+1];z3:=pl[i+2];z4:=pl[i+3];
s1:=z1;s2:=z1+z2;s3:=z1+z2+z3;s4:=z1+z2+z3+z4;
wr:=oblicz1(s1); w1[wr]:=w1[wr]+1;
wr:=oblicz2(s2); if wr>=0 then w2[wr]:=w2[wr]+1;
wr:=oblicz3(s3); if wr>=0 then w3[wr]:=w3[wr]+1;
wr:=oblicz4(s4); if wr>=0 then w4[wr]:=w4[wr]+1;
end;
for i:=1 to il do begin
licz:=0;
readln(ass);
l:=length(ass);
case l of
1: begin
licz:=oblicz1(ass);
writeln(w1[licz]);
end;
2: begin
licz:=oblicz2(ass);
writeln(w2[licz]);
end;
3: begin
licz:=oblicz3(ass);
writeln(w3[licz]);
end;
4: begin
licz:=oblicz4(ass);
writeln(w4[licz]);
end;
end;
{writeln(licz);}
end;
end.
Advertisements
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.
AcceptLearn more