bawang51吧 关注:31贴子:3,169
  • 10回复贴,共1

【OI】trie树——字典树

只看楼主收藏回复

type tree=record next:array['a'..'z']of longint; g:boolean; end;vara:array[1..1000]of tree;i,j,n,m,now,e:longint;s:string;ans:boolean;begin readln(n,m); e:=1; for i:=1 to n do begin readln(s); now:=1; for j:=1 to length(s) do if a[now].next[s[j]]=0 then begin inc(e); a[now].next[s[j]]:=e; now:=e; end else now:=a[now].next[s[j]]; a[now].g:=true; end; for i:=1 to m do begin readln(s); ans:=false; now:=1; for j:=1 to length(s) do if a[now].next[s[j]]<>0 then now:=a[now].next[s[j]]; if a[now].g then writeln('Y') else writeln('N'); end;end.



IP属地:上海1楼2012-07-16 16:36回复
    type
    tree=record
    next:array['a'..'z']of longint;
    g:boolean;
    end;
    var
    a:array[1..1000]of tree;
    i,j,n,m,now,e:longint;
    s:string;
    ans:boolean;
    begin
    readln(n,m);
    e:=1;
    for i:=1 to n do
    begin
    readln(s);
    now:=1;
    for j:=1 to length(s) do
    if a[now].next[s[j]]=0 then
    begin
    inc(e);
    a[now].next[s[j]]:=e;
    now:=e;
    end
    else
    now:=a[now].next[s[j]];
    a[now].g:=true;
    end;
    for i:=1 to m do
    begin
    readln(s);
    ans:=false;
    now:=1;
    for j:=1 to length(s) do
    if a[now].next[s[j]]<>0 then
    now:=a[now].next[s[j]];
    if a[now].g then
    writeln('Y')
    else
    writeln('N');
    end;
    end.


    IP属地:上海2楼2012-07-27 11:25
    回复
      想起原来的那个bessie用手机的那个题目


      IP属地:上海来自手机贴吧3楼2012-07-31 16:08
      收起回复
        格式啊。。。说好的缩进呢?——byf


        4楼2013-05-11 18:42
        收起回复