時間限制: 1 秒 記憶體限制: 64 mb | 提交: 385 解決: 120
題目描述
饒學妹組織了一場acm賽制的比賽,大家紛紛慕名來參加。比賽中大家交題只會有兩種結果:ac,wa。比賽結束了,饒學妹製作榜單啦。首先按ac題目的數目(重複ac一道題只算一次)從多到少排名;ac題目數目相同的同學按罰時(罰時計算方式為:單題罰時 = (首次ac該題目時間 + 首次ac之前wa的次數 * 20) min,總罰時 = 各題罰時之和;即某題目ac之後,對這道題目後續的提交均不計入罰時)從少到多排列;ac數目相同且罰時也相同的同學,按編號從小往大排序。
輸入第一行為n,m,k(1≤n≤1000,1≤m≤10000,1≤k≤10),分別表示參加比賽的人數、提交總次數和總題數。
之後一行為n個用空格分隔的字串,表示n位參賽選手的姓名(每個字串長度均不超過20,且僅含小寫字母);
之後m行,每行均為 timeiid
ipid
iresult
i,(1≤time
i≤time
i+1≤300,1≤id
i≤n,1≤pid
i≤k,result
i="ac"/"wa"),表示編號為id
i的選手在time
i時刻提交了編號為pid
i的題目,且結果為result
i. 輸出
輸出n行,按排名從高到低排列。每行分別輸出該選手的姓名,過題數,總罰時,中間均為乙個空格間隔。
樣例輸入
5 11 10樣例輸出phx lsf zk rqy ch
1 1 1 ac
1 1 2 ac
2 1 3 ac
2 1 4 ac
3 2 2 wa
4 2 2 ac
5 3 2 ac
10 5 1 wa
20 5 2 wa
30 5 3 wa
40 5 4 wa
phx 4 6zk 1 5
lsf 1 24
rqy 0 0
ch 0 0
思路 : 按照 題意模擬一下 再排序就好了 , 注意 排序過程中 會打斷 序號排序 , 需要顯示 (按照序號)排序
#include #include#include
#include
using
namespace
std ;
#define maxn 2000
intn , m , k ;
struct
node ;
node num[maxn] ;
bool
cmp(node a , node b)
else
if(a.time_sum!=b.time_sum)
else
return a.order }int
main()
for(int i=1 ; i<=n ; i++)
for(int i=1 ; i<=m ; i++)
else
if(result[0] == '
a' && !num[idi].ac_visit[pidi])
}sort(num+1 , num+1+n , cmp) ;
for(int i=1 ; i<=n ; i++)
}return0;
}
2023年 河南工業大學校賽 H題 ch追妹
時間限制 2 秒 記憶體限制 128 mb 提交 241 解決 119 題目描述 n個點的一張無向圖,ch站在a點,ch要追的妹子站在b點。r clover為了讓ch安心訓練,要阻止ch追妹。ch每走一步,r clover就會挖斷一條路。ch和r clover均採用最優策略,問ch能不能追到妹子 輸...
2023年 河南工業大學校賽 I 題 小天使改名
時間限制 2 秒 記憶體限制 128 mb 提交 496 解決 136 題目描述 小天使的b站帳號被大家發現啦。於是小天使決定改名,將他原有id中的兩個不同位置的字母進行交換。小天使有可能將兩個不同位置的相同字母進行交換,雖然這樣做他的id並沒有發生變化 lsf知道小天使原來的id,他想知道某個id...
2023年 河南工業大學校賽 D題 rqy的鍵盤
時間限制 1 秒 記憶體限制 128 mb 提交 233 解決 136 題目描述 rqy在和妹子約會,突然女票打來 rqy騙女票他在寫 女票為了證實,問他鍵盤上f鍵左邊是哪個鍵。你能否幫助rqy回應女票的質問?不然他可就要寫思想匯報了.輸入輸入資料第一行是乙個整數 t 1 t 10000 表示測試資...