aboutsummaryrefslogtreecommitdiff
path: root/challenge-239/deadmarshal/pascal/ch2.pas
blob: 4405514a4d353924f3cffa33e6c3759aa497c22f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
program Ch2;

{$mode objfpc}
uses
  SysUtils,Types;

var
  A1,A2,A3:TStringDynArray;

function ConsistentStrings(var Arr:TStringDynArray;
			   Allowed:AnsiString):Integer;
var
  I,J:Integer;
  B:Boolean;
begin
  Result := 0;
  for I := Low(Arr) to High(Arr) do
  begin
    B := True;
    for J := Low(Arr[I]) to High(Arr[I]) do
    begin
      if not Allowed.Contains(Arr[I][J]) then
      begin
	B := False;
	break
      end
    end;
    if B then Inc(Result);
  end
end;

begin
  A1 := ['ad','bd','aaab','baa','badab'];
  A2 := ['a','b','c','ab','ac','bc','abc'];
  A3 := ['cc','acd','b','ba','bac','bad','ac','d'];
  WriteLn(ConsistentStrings(A1,'ab'));
  WriteLn(ConsistentStrings(A2,'abc'));
  WriteLn(ConsistentStrings(A3,'cad'));
end.