Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var q:array['A'..'Z'] of string;
- met : array['A'..'Z',0..101]of longint;
- n,s,w,e,u,d : string;
- sim : char;
- k : longint;
- function f(sim : char; p : longint):longint;
- var i, temp : longint;
- curSim : char;
- begin
- f:=1;
- if (p <= 1) then
- begin
- f:=p;
- met[sim][p]:=1;
- exit();
- end;
- for i:=1 to length(q[sim]) do begin
- curSim := q[sim][i];
- if (met[curSim][p-1] <> 0)
- then f:=f+met[curSim][p-1]
- else
- begin
- temp:=f(curSim,p-1);
- met[curSim][p-1]:=temp;
- f:=f+temp;
- end;
- end;
- exit(f);
- end;
- Begin
- assign(input,'trash.in');reset(input);
- assign(output,'trash.out');rewrite(output);
- readln(n);
- readln(s);
- readln(w);
- readln(e);
- readln(u);
- readln(d);
- q['N']:=n;
- q['S']:=s;
- q['W']:=w;
- q['E']:=e;
- q['U']:=u;
- q['D']:=d;
- read(sim,k);
- writeln(f(sim,k));
- close(input); close(output);
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement