Advertisement
Guest User

Untitled

a guest
Mar 16th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.14 KB | None | 0 0
  1. var     q:array['A'..'Z'] of string;
  2.         met : array['A'..'Z',0..101]of longint;
  3.         n,s,w,e,u,d : string;
  4.         sim : char;
  5.         k : longint;
  6.  
  7. function f(sim : char; p : longint):longint;
  8.  var i, temp : longint;
  9.      curSim : char;
  10.  begin
  11.   f:=1;
  12.     if (p <= 1) then
  13.      begin
  14.        f:=p;
  15.        met[sim][p]:=1;
  16.        exit();
  17.      end;
  18.      for i:=1 to length(q[sim]) do begin
  19.         curSim := q[sim][i];
  20.         if (met[curSim][p-1] <> 0)
  21.           then f:=f+met[curSim][p-1]
  22.              else
  23.                begin
  24.                  temp:=f(curSim,p-1);
  25.                  met[curSim][p-1]:=temp;
  26.                  f:=f+temp;
  27.                end;
  28.      end;
  29.  
  30.  exit(f);
  31. end;
  32.  
  33. Begin
  34.         assign(input,'trash.in');reset(input);
  35.         assign(output,'trash.out');rewrite(output);
  36.         readln(n);
  37.         readln(s);
  38.         readln(w);
  39.         readln(e);
  40.         readln(u);
  41.         readln(d);
  42.         q['N']:=n;
  43.         q['S']:=s;
  44.         q['W']:=w;
  45.         q['E']:=e;
  46.         q['U']:=u;
  47.         q['D']:=d;
  48.         read(sim,k);
  49.         writeln(f(sim,k));
  50.         close(input); close(output);
  51. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement