Noip2003p1 乒乓球

题目:

 乒乓球

来源:

 Noip2003p1

题目大意:

 若干行字符串,’E’代表结束,’W’代表自己赢,’L’代表对手赢,分别输出11分制和21  分制的此时的比分情况,若大的一方大于11(21)且领先小的一方2及以上则该局结  束,两种比分中间有一个空行

数据范围:

 一行最多20个字符,总字符长度<=1000000

样例:

 WWWWWWWWWWWWWWWWWWWW

 WWLWE

11:0
11:0
1:1
 
21:0
2:1

做题思路:

 读字符然后模拟,读到E结束,如果读字符的话记得读个回车,不然就悲剧了。

知识点:

 模拟

var
 a1,a2,b1,b2:array[0..100000]of longint;
 i,j,k,t:longint;
 ch:char;
begin
 i:=1;j:=1;
 whilenot eof do
  begin
  read(ch);
  inc(t);
   ift=20 then
   begin
    readln;
    t:=0;
   end;
   ifch='E' then break;
   ifch='W' then inc(a1[i]) else inc(a2[i]);
   ifch='W' then inc(b1[j]) else inc(b2[j]);
   if((a1[i]>=11)and(a1[i]-a2[i]>=2))or((a2[i]>=11)and(a2[i]-a1[i]>=2))then inc(i);
   if((b1[j]>=21)and(b1[j]-b2[j]>=2))or((b2[j]>=21)and(b2[j]-b1[j]>=2))then inc(j);
  end;
 fork:=1 to i do writeln(a1[k],':',a2[k]);
 writeln;
 fork:=1 to j do writeln(b1[k],':',b2[k]);
end.


 题目来源: http://yuanti.tyvj.cn:8080/Problem_Show.asp?id=1034 
  

 
 

你可能感兴趣的:(字符串,Tyvj,模拟,Noip)