湖南大學 實驗八 火星人足球賽

2021-10-12 12:45:31 字數 1239 閱讀 4404

【問題描述】

火星人足球賽的比賽規則與地球人的比賽規則有些非常相似,比如嚴重犯規,將被給予黃牌警告,特別嚴重的犯規,將給予紅牌直接罰下,如果有人得到第2張黃牌,則自動獲得紅牌罰下,比賽同樣採取主客場制。

與地球人足球賽不同的是,火星人足球賽每隊可以上場的人數不會固定為11人,可以多個人,比賽時間也會更長一些。

比賽時的裁判員是機械人,判罰非常嚴厲,如果有人獲得紅黃牌,機械人裁判將自動記錄當時的情況。

【輸入形式】

輸入的第一行為主隊隊名,第二行為客隊隊名,隊名的長度不超過20個字元。

第三行為乙個整數 n (0 ≤ n ≤ 90) ,表示得到紅黃牌的犯規次數。

接下來的n行,每行包含用空格分隔的4個部分,表示犯規的情況:

·首先為乙個整數,表示犯規的時間(分鐘)

·接著為乙個字元"h"或"a",如果為"h",表示該張牌會給到主隊球員,否則會給到客隊球員。

·接下來為球員編號m (1 ≤ m ≤ 99)

·接下來為乙個字元"y"或"r",如果為"y",表示為黃牌,否則為紅牌

不同球隊的球員可能有相同的號碼,在同一球隊球員的號碼不相同,犯規記錄按時間順序排列。

【輸出形式】

輸出按時間順序排列的獲得紅牌的記錄,如果時間相同,則主隊排在前面,如果同一時間同一球隊有多人獲得紅牌,則編號大的排在前面。每個紅牌一行,包含3個部分:球員所屬球隊的名字、犯規球員編號、獲得紅牌時間。

如果全場比賽無紅牌,輸出"no red card"

【樣例輸入】

mccska

928 a 3 y

62 h 25 y

66 h 42 y

70 h 25 y

77 a 4 y

79 a 25 y

82 h 42 r

89 h 16 y

90 a 13 r

【樣例輸出】

mc 25 70

mc 42 82

cska 13 90

#include#includeusing namespace std;

struct record//犯規記錄

;struct red//紅牌犯規記錄

;int main()

int f=0;

for(int j=0;jt)||(q[k].team=='a'&&q[c].team=='h'&&k我學到了結構體定義可以按照出入輸出的格式,便於進行資料處理,雖然看起來比較笨。

2018湖南大學校賽 B DSU

簡略題意 有n張牌 每張牌2面,你每張牌只能選乙個面,把這n張牌排序後從 最大能從1開始連續到多少會斷掉?想法很棒棒啊。首先把牌面看做一條邊,考慮一棵n大小的樹的情況,那麼可以使得其中n 1個點被選出來。如果這不是乙個樹,那麼這個圖里的任意節點都可以滿足。為了讓答案更優,對於每個聯通塊,我們必然選擇...

湖南大學程式設計競賽新生賽(重現賽)

1.從一堆糖果裡取奇數個或偶數個,誤以為是取奇數個糖果的一堆 2.tutu和dada各自一直只能取奇數個和偶數個,因為 and then buy candy alternately 誤認為只有第一輪才有限制,後面隨意 舉了幾組,發現只有當n 1,並且第乙個是偶數時才是dada贏 include us...

懶惰的松雅 湖南大學程式設計作業

通過之前發的一篇部落格,我結識了很多大佬。我自己心裡面清楚,現在我寫的東西對於很多大佬來說不過是小菜一碟,但是呢,我還是希望能夠繼續寫下去,一來鞏固我自己的知識,二來見證我的成長 每個人都是一步一步走上去的嘛 最後呢,也是最重要的,能夠認識很多朋友,能夠有更大的交流空間,我想,這是乙個優秀的程式設計...