pascal ?????

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:58:43
===全国青少年信息学奥林匹克分区联赛 (NOIp 2003) 竞赛原题===

华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。
比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分):
WWWWWWWWWWWWWWWWWWWWWWLW
在11分制下,此时比赛的结果是华华第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。而在21分制下,此时比赛结果是华华第一局21比0获胜,正在进行第二局,比分2比1。如果一局比赛刚开始,则此时比分为0比0。
你的程序就是要对于一系列比赛信息的输入(WL形式),输出正确的结果。

输入格式
每个输入文件包含若干行字符串(每行至多20个字母),字符串有大写的W、L和E组成,也许中间有若干个空格。其中E表示比赛信息结束,程序应该忽略E之后的所有内容,E后面可能有干扰文字。

输出格式
输出由两部分组成,每部分有若干行,每一行对应一局比赛的比分(按比赛信息输入顺序)。其中第一部分是11分制下的结果,第二部分是21分制下的结果,两部分之间由一个空行分隔

==================== 请问那里错了?????===================
program xxx;
type
sz=array[1..1000] of longint;
var
i,le,j:longint;
w,l:sz;
s:string;
begin
readln(s);
le:=length(s);
for i:=1 to le do
if s[i]='E'
then begin

program table;
var w11,l11,w21,l21:integer;{chengji}
i:longint;
tmp2:char;{W or L}
ch:array[1..10000000] of char;
p:longint;
p11,p21:array[1..10000,1..2] of longint;
pp11,pp21:longint;

begin

p:=0;
while (not eof) do begin
inc(p);
read(ch[p]);
if ch[p]='E' then break;
end;

{11}
p:=1;
w11:=0; l11:=0;
w21:=0; l21:=0;
pp11:=0;pp21:=0;
tmp2:=ch[p];
while tmp2<>'E' do
begin
case tmp2 of
'W':begin
inc(w11);
if (w11>=11) and ((w11-l11)>=2) then
begin
inc(pp11);
p11[pp11,1]:=w11;p11[pp11,2]:=l11;