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毫秒