金牌 銀牌 銅牌 2057

2021-09-01 13:27:03 字數 2356 閱讀 3526

problem description

acm——大學中四大競賽之首——是極具挑戰性的大學生競賽形式。在一場acm比賽中,乙個參賽隊伍由三人組合而成,在最短的時間內做出盡可能多的題目而且要盡量少提交錯誤**,這樣才能得到更高的排名。現在讓我們模擬一次不正規的acm比賽,假設在比賽開始後30分鐘(這時已經有不少同學提交了**,在rating中已經出現),到比賽結束前,又有新的同學提交(在rating中出現),同時rating在不斷變化著,還有一些同學因為一些原因中途退出比賽(這時rating中自動刪除,當然在正式比賽中不會有這種情況)。最後終於比賽結束啦,看看rating,都有誰能拿到獎牌呢?

input

第一行乙個整數n(n<=1000),代表開始比賽後30分鐘已經有n個人提交了**。從第二行到第n+1行每行包括名字name(小於20個字元),分數p(0<=p<=10000),同時行數代表目前排名情況,第二行的排名第一,第三行排名第二,依次類推。

從第n+2行起,每行有乙個字元,是a,q,c,s,o中的乙個:

a代表新加進rating中一名同學,緊隨其後是名字name(小於20個字元),分數p(0<=p<=10000);

q代表有一名同學退出了,接著是他的名字name(小於20個字元);

c代表有乙個人的分數發生的改變,接著是此人的名字name,他的分數加多少(分數只會增加不會減少);

s代表一次顯示此時rating的請求,這時輸出所有在rating中的同學名字及他們的分數。

o代表比賽結束。

output

對每次請求,輸出此時rating中的所有同學名字和對應分數,在比賽結束時輸出金牌獲得者(一名),銀牌獲得者(兩名),銅牌獲得者(三名)(測試資料保證此時有至少6名同學在rating上)。注意:有同學新增到rating中或者分數改變後,在rating中有和這名同學有相同的分數,那麼這名同學排在最後乙個與他有相同分數同學的後面。

sample input

7

cze 90

qch 87

zff 70

shangcf 66

zhaohq 50

zhrq 46

yah 20

a pc 56

q zff

c qch 4

sa von 66

o

sample output

qch 91

cze 90

shangcf 66

pc 56

zhaohq 50

zhrq 46

yah 20

#1 : qch

#2 : cze shangcf von

#3 : pc zhaohq zhrq

hint

source

答案:本題不難,就是麻煩,但是有助於鍊錶的學習

#include

using namespace std;

struct nodeelse else else {

p=tail;

tail=tail->next;

if(tail==null)

p->next=q;

q->next=null;

if (m=='s'){

tail=head->next;

while (tail!=null){

printf ("%s %d\n",tail->name,tail->num);

tail=tail->next;

if (m=='o'){

break;

p=head->next;

printf("#1 : %s",p->name);

while(p->next->num==p->num)

p=p->next;

printf(" %s",p->name);

printf("\n");

printf("#2 :");

for(int i=0;i<2;i++)

p=p->next;

if(p==null)break;

printf(" %s",p->name);

while(p->next->num==p->num)

p=p->next;

printf(" %s",p->name);

printf("\n");

printf("#3 :");

for(int i=0;i<3;i++)

p=p->next;

if(p==null)break;

printf(" %s",p->name);

while(p->next->num==p->num)

p=p->next;

printf(" %s",p->name);

金牌 銀牌 銅牌

金牌 銀牌 銅牌 time limit 1000ms memory limit 65536k acm 大學中四大競賽之首 是極具挑戰性的大學生競賽形式。在一場acm比賽中,乙個參賽隊伍由三人組合而成,在最短的時間內做出盡可能多的題目而且要盡量少提交錯誤 這樣才能得到更高的排名。現在讓我們模擬一次不正...

金牌 銀牌 銅牌

time limit 1000ms memory limit 65536kb submit statistic problem description acm 大學中四大競賽之首 是極具挑戰性的大學生競賽形式。在一場acm比賽中,乙個參賽隊伍由三人組合而成,在最短的時間內做出盡可能多的題目而且要盡量...

金牌 銀牌 銅牌

time limit 1000 ms memory limit 65536 kib problem description acm 大學中四大競賽之首 是極具挑戰性的大學生競賽形式。在一場acm比賽中,乙個參賽隊伍由三人組合而成,在最短的時間內做出盡可能多的題目而且要盡量少提交錯誤 這樣才能得到更高...