Pagini recente » Cod sursa (job #1371075) | Cod sursa (job #2578156) | Cod sursa (job #2629880) | Cod sursa (job #2526769) | Cod sursa (job #253816)
Cod sursa(job #253816)
program episoade;
type rec = record
x:array [1..1000] of char;
n:integer;
end;
var fin,fout:text;
s:array [0..1000] of char;
v:array [0..100] of byte;
nr:array [1..100] of byte;
ok:boolean;
a,q,p,sn,i,j,m,n:integer;
semn:char;
{*----------------------------------------------------*}
Procedure determina_paranteze;
begin
for i:=1 to sn do
begin
end;
end;
{*----------------------------------------------------*}
Procedure Citire;
begin
Assign(fin,'episoade.in'); Reset(fin);
assign(fout,'episoade.out'); Rewrite(fout);
i:=0;
while not eoln(fin) do
begin
inc(i);
read(fin,s[i]);
end; sn:=i;
Readln(fin);
//Determina_paranteze;
end;
{*----------------------------------------------------*}
Function Determina_numar(var i:integer):integer;
var S2:String[5];
nr:integer;
begin
S2:='';
while (s[i] <> '>') and (s[i]<>'#') and (I<length(s)) do
begin
s2:=s2+s[i];
inc(i);
end;
Val(S2,nr,p);
Determina_numar:=Nr;
end;
{*----------------------------------------------------*}
Procedure solve;
begin
ok:=True;
i:=0; semn:='$';
while i<sn do
begin
inc(i);
a:=Determina_numar(i);
semn:=s[i]; v[0]:=0;
If semn = '>' then
begin
v[0]:=1;
v[1]:=a;
end;
while semn = '>' do
begin
inc(v[0]);
inc(i);
v[v[0]]:=Determina_numar(i);
semn:=s[i];
end;
if v[0] > 0 then//caut sa fie exact
begin
for j:=1 to n do if nr[j] = v[1] then break;
for p:=j to j+v[0]-1 do
if nr[p] <> v[p-j+1] then ok:=false;
end;
end;
If ok then writeln(fout,'1')
Else Writeln(Fout,'0');
end;
{*----------------------------------------------------*}
begin
citire;
readln(fin,m,n);
for q:=1 to m do
begin
for j:=1 to n do read(fin,nr[j]);
Readln(fin);
solve;
end;
Close(fin);
Close(fout);
end.