杭電2539 點球大戰

2021-06-07 01:10:21 字數 1921 閱讀 2603

一定要看清楚輸出的score的首字母是大寫的!!!

problem description

在足球比賽中,有不少賽事,例如世界盃淘汰賽和歐洲冠軍聯賽淘汰賽中,當比賽雙方經過正規比賽和加時賽之後仍然不分勝負時,需要進行點球大戰來決定誰能夠獲得最終的勝利。點球大戰的規則非常簡單,兩方輪流派出球員罰點球,每方各罰5個。當5輪點球結束以後如果仍然不分勝負,則進入一輪定勝負的階段。兩方各派一名球員罰點球,直到有一方罰進而另一方沒有進為止。

在北美職業冰球聯賽中,也有點球大戰。與足球的規則不同的是,它只先罰3輪點球,隨後就進入一輪定勝負的階段,而其他的規則完全一樣。

在本題中,輸入將給出每次點球是否罰進,而你的任務則是輸出乙個「比分板」。

input

輸入包含多組資料。每組資料的第一行包含乙個整數n(1<=n<=18),表示雙方總共罰了多少個點球,n=0表示輸入結束。隨後有n行,每行是乙個如下形式的字串:

***x good:表示這個點球罰進

或者***x no good:表示這個點球沒有罰進

其中***x表示球員名字(全部由字母和空格組成,保證不會出現歧義)

每一行保證不超過100個字元。

***x和good以及***x和no、no和good之間保證有且只有1個空格。

good、no good都是小寫。本題是大小寫相關的。

資料不保證點球大戰一定結束,也不保證在結束以後立即結束這組資料(即:不用判斷點球大戰是否結束,只用把罰進的點球往比分上加即可)。

output

對每組資料,輸出乙個比分板。乙個點球如果罰進,則在對應的地方標上』o』,如果沒有進則標上』x』。先罰球的隊伍的資訊在上面,後罰的在下面。最右邊標上兩隊的比分。具體格式參考樣例輸出。注意如果一輪點球只罰了乙個,則後面那個點球對應的地方寫上』-』。

sample input

6

riise good

ballack good

gerrard no good

lampard no good

fernando torres good

malouda good

9christiano ronaldo no good

messi no good

giggs good

abidal no good

carrick good

ronaldinho good

rooney good

henry no good

tevez good0

sample output

1 2 3 score

o x o 2

o x o 2

1 2 3 4 5 score

x o o o o 4

x x o x - 1

空格數要和樣例輸出一樣,否則很可能會被判為「格式錯誤」(presentation error)。

**:#include

#include

#include

using namespace std;

int main()

k=g-8;

if(a[k]==' ' && a[k+1]=='n' && a[k+2]=='o' &&a[k+3]==' ' && a[k+4]=='g' && a[k+5]=='o' &&a[k+6]=='o'&& a[k+7]=='d' )

else

}else

if(v==i/2 && i%2)}}

for(h=0;hcout

cout

for(h=0;hsum2+=bb[h];

cout<}return 0;

}

杭電1204 糖果大戰

生日party結束的那天晚上,剩下了一些糖果,gandon想把所有的都統統拿走,speakless於是說 可以是可以,不過我們來玩24點,你不是已經拿到了一些糖果了嗎?這樣,如果誰贏一局,就拿走對方一顆糖,直到拿完對方所有的糖為止。如果誰能算出來而對方算不出來,誰就贏,但是如果雙方都能算出或者都不能...

杭電ACM題2000遇到的一點問題

今天做了幾個杭電的acm題,包括2000題,題目描述是 輸入三個字元後,按各字元的ascii碼從小到大的順序輸出這三個字元。要求輸入為 輸入資料有多組,每組佔一行,有三個字元組成,之間無空格。輸出為 對於每組輸入資料,輸出一行,字元中間用乙個空格分開。編寫的通過的 如下 include int ma...

杭電ACM 2001 計算兩點間的距離

problem description 輸入兩點座標 x1,y1 x2,y2 計算並輸出兩點間的距離 input 輸入資料有多組,每組佔一行,由4個實數組成,分別表示x1,y1,x2,y2,資料之間用空格隔開 output 對於每組輸入資料,輸出一行,結果保留兩位小數。sample input 0 ...