PersonalCorpus 版 (精华区)

163204 05:59:29 16 Mar 2002
Bozhang,HIT,P.R.China 1027 Pascal Accepted 0.02 sec 61K

var
    s,t:string;
    i,j,k:integer;
    f:boolean;
begin
    s:='';
    while not eof(input) do begin
        readln(t);
        s:=s+t;
    end;
    i:=pos('(*',s);
    while i<>0 do begin
        j:=i+2; f:=false;
        while j<length(s) do if (s[j]='*') and (s[j+1]=')') then begin
            f:=true; break;
        end else inc(j);
        if f then delete(s,i,j-i+2) else begin
            writeln('NO'); halt
        end;
        i:=pos('(*',s);
    end;
    i:=pos('(',s); k:=1;
    while i<>0 do begin
        j:=i+1;
        while j<=length(s) do begin
            case s[j] of
                '(': begin inc(k); end;
                ')': begin dec(k); if k=0 then break; end;
                '=','+','-','*','/','0'..'9':begin end;
                else begin writeln('NO');halt end;
            end;
            inc(j);
        end;
        if k<>0 then begin writeln('NO'); halt end;
        delete(s,i,j-i+1);
        i:=pos('(',s);  k:=1;
    end;
    if pos(')',s)<>0 then writeln('NO') else writeln('YES');
end.
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.134毫秒