NOIP普及組 2003 兵乓球

2021-07-25 23:50:36 字數 1203 閱讀 2575

華華通過以下方式進行分析,首先將比賽每個球的勝負列成一張表,然後分別計算在11分制和21分制下,雙方的比賽結果(截至記錄末尾)。

比如現在有這麼乙份記錄,(其中w表示華華獲得一分,l表示華華對手獲得一分):

wwwwwwwwwwwwwwwwwwwwwwlw

在11分制下,此時比賽的結果是華華第一局11比0獲勝,第二局11比0獲勝,正在進行第三局,當前比分1比1。而在21分制下,此時比賽結果是華華第一局21比0獲勝,正在進行第二局,比分2比1。如果一局比賽剛開始,則此時比分為0比0。直到分差大於或者等於2,才一局結束。

你的程式就是要對於一系列比賽資訊的輸入(wl形式),輸出正確的結果。

解析

直接模擬,注意分差要大於等於2

時間複雜度

o(n)

**

varf:array [1..1000000] of char;

a,b,x,y,i,j:longint;

ch:char;

begin

repeat

inc(i);

read(f[i]);

until f[i]='e';

for j:=1 to i-1 do

begin

if f[j]='w' then inc(a);

if f[j]='l' then inc(b);

if ((a>=11) or (b>=11)) and (abs(a-b)>=2)

then begin

writeln(a,':',b);

a:=0;

b:=0;

end;

end;

writeln(a,':',b);

writeln;

for j:=1 to i-1 do

begin

if f[j]='w' then inc(x);

if f[j]='l' then inc(y);

if ((x>=21) or (y>=21)) and (abs(x-y)>=2)

then begin

writeln(x,':',y);

x:=0;

y:=0;

end;

end;

writeln(x,':',y);

end.

兵乓球比賽

from random import random from pandas import dataframe from time import time class sportcompetitionanalyze def printinfo self function 列印程式的介紹資訊 print...

noip2003普及組 棧

棧 組合計數,卡特蘭數 o n 2 o n 2 o n2 首先任何一種合法的入棧 出棧操作序列都可以得到乙個不同的1 n的排列,因此可以得到的排列總數等於合法入棧 出棧操作序列的個數。該問題等價於求第n nn項cat alan catalan catala n數。在本題中我們使用公式 cnm cn ...

NOIP2003 普及組 桌球

這是一道模擬題。模擬題 使程式按照題目所敘述的方式進行,模擬整個過程。模擬演算法其實就是給你一堆資料,設計程式將整個模擬過程走一遍,然後得出結果。題目怎麼表述的,程式就怎麼執行。所以模擬題對於演算法設計的要求不高,但是需要選擇合適的資料結構來進行模擬。參考 模擬題考驗的是我們的 實現能力,簡單的模擬...