模擬 Experiment Week2 B 爆零

2021-10-03 12:29:02 字數 2054 閱讀 7424

模擬乙個實**測系統的乙個榜單,給定了乙個所有同學做題情況的快照(共有n道題),要求輸出同學們ac題的情況以及總罰時。

ps:當一名同學ac了某道題,這道題的罰時才會被加入到總罰時中

每個人做的題都在對應的題號下有個數量標記,負數表示該學生在該題上有過的錯誤提交次數但到現在還沒有ac,正數表示ac所耗的時間,如果正數a跟上了一對括號,裡面有個正數b,則表示該學生ac了這道題,耗去了時間a,同時曾經錯誤提交了b次。

樣例輸入:

首先是題數n和罰時m

然後是所有同學(學生的數目未知)的做題情況,每行的第乙個字串是該名同學的名字,後面跟著n個題的得分情況

8 20

gugudong 96 -3 40(3) 0 0 1 -8 0

hrz 107 67 -3 0 0 82 0 0

tt 120(3) 30 10(1) -3 0 47 21(2) -2

omrailgun 0 -99 -8 0 -666 -10086 0 -9999996

yjq -2 37(2) 13 -1 0 113(2) 79(1) -1

zjm 0 0 57(5) 0 0 99(3) -7 0

樣例輸出:

輸出乙個對所有同學當前做題情況的乙個排名,先以ac題目降序排列,然後以罰時多少公升序排列,都相等則以名字的字典序公升序排列。每個學生佔一行,輸出名字(10個字元寬),做出的題數(2個字元寬,右對齊)和時間分(4個字元寬,右對齊)。名字、題數和時間分相互之間有乙個空格。

tt 5 348

yjq 4 342

gugudong 3 197

hrz 3 256

zjm 2 316

omrailgun 0 0

題意理解清楚後,這道題的思路其實很清晰,就是將每個同學的ac題數與總罰時統計出來,排序後輸出就好,難點是最初的讀入,輸出也有一點麻煩。

讀入:我的想法是 先用 scanf("%s",c) 讀入了某學生的姓名,然後再每次讀入乙個字串(即某道題的做題情況)再用sscanf(c,"%d(%d",&a,&b) 把兩個數字讀入到a和b中,當然b有可能不存在,於是我先將b初始化為inf(0x7fffffff),需要計算罰時的時候 再判斷b是不是inf,如果不是就參與計算。

排序:把讀入的struct型別放進vector中,在struct 裡過載 '<'號,然後直接把vector給sort了,然後遍歷輸出就好了(熟練利用stl /斜眼笑 )

輸出:printf("%-10s %2d %4d\n",i.name,i.ac,i.t); emmm printf的格式化輸出可以滿足一切想法,%數字 表示幾位固定格式輸出,%後面加個 '-'表示左對齊(預設是右對齊的) over

1.麻煩的讀入:先當做乙個string讀入,然後用sscanf提取想要的數字

2.奇怪的輸出:printfffffffffffff**好(生活所迫)

#include

#include

#include

#include

#include

#include

using

namespace std;

#define inf 0x7fffffff

struct stu};

int n,m,tnt,time;

char c[

1010];

vector v;

intmain()

} new_stu.ac=tnt; new_stu.t=time;

v.push_back

(new_stu);}

sort

(v.begin()

,v.end()

);for(

auto

&i:v)

printf

("%-10s %2d %4d\n"

,i.name,i.ac,i.t)

;//懶癌患者表示 c++ 11 是真香啊

return0;

}

模擬訊號 模擬訊號與模擬電路

訊號 用來攜帶資訊的物理量。電訊號 隨著時間變化的電壓或電流,在數學上,我們可以通過函式來表達這種變化情況,因此我們可以畫出波形。電子電路中的訊號分類 數碼訊號和模擬訊號。模擬訊號的特點 連續性,無論是在時間上還是在數值上。大多數的物理量均為模擬量,如溫度 壓力 流量.非電的物理量可以通過感測器變換...

CG物理模擬 風箏模擬

放風箏是一項起源於中國的傳統娛樂專案,隨後推廣到世界各地。按作用可以分成節日慶典祝福風箏,體育競技類,單純的娛樂向風箏等。要想用計算機較為真實的模擬風箏運動,首先我們先得搞清楚風箏的受力情況。飛行原理 如圖 b 所示,風箏在天空中飛翔時所受的力為 風箏線的張力,尾巴的張力,自身的重力,以及風的作用力...

AcWing 模擬棧 棧 模擬

時 空限制 1s 64mb 實現乙個棧,棧初始為空,支援四種操作 1 push x 向棧頂插入乙個數x 2 pop 從棧頂彈出乙個數 3 empty 判斷棧是否為空 4 query 查詢棧頂元素。現在要對棧進行m個操作,其中的每個操作3和操作4都要輸出相應的結果。第一行包含整數m,表示操作次數。接下...