在比特鎮舉行的中國大學生程序設計競賽CCPC(China Collegiate Programming Contest)開始啦!此次比賽中加入了現場視頻直播,而在直播屏幕的左下角,會顯示評測隊列。
比特鎮的科技水平並不發達,直播分辨率並不高。準確地說,每一個評測記錄將被顯示在11 行3838 列的像素格上。一條評測記錄由44 個部分組成,從左往右依次爲排名(33 像素),隊名(1616 像素),題號(44 像素),評測狀況(1212 像素)。相鄰兩個部分之間由11 像素的分隔線|| 分開。其中,排名右對齊顯示,隊名左對齊顯示,長度不足時用空格補齊。題號必定是44 位正整數,所以剛好佔據44 像素。評測狀況則比較複雜,它由兩側的括號[][] 以及中間1010 像素組成。
樣例第一行表示排名第1919 的隊伍qqqqq_University提交了題目10011001 ,已經經過了30%30% 的測試點,故左對齊顯示33 個X。
樣例第二行表示排名第125125 的隊伍quailty_U_2提交了題目10021002 ,評測結果爲WA,故居中顯示WA,左邊留44 像素空格。
樣例第三行須要居中顯示TLE,左邊一樣留44 像素空格。
樣例第四行這支隊伍是全場第一個經過10031003 的,故在AC後加上字符∗∗ 來特殊標註。
請寫一個程序,對於每條評測記錄產生直播信息。Input第一行包含一個正整數T(1≤T≤1000)T(1≤T≤1000) ,表示評測記錄的數量。
接下來TT 行,每行首先是一個正整數rank(1≤rank≤400)rank(1≤rank≤400) ,表示隊伍的排名。
接下來一個長度不超過1616 的字符串SS ,表示隊名,SS 僅由大小寫字母、數字以及下劃線"_"組成。
接下來一個正整數prob(1001≤prob≤1013)prob(1001≤prob≤1013) ,表示題號。
接下來一個字符串T(T∈{Running,AC,WA,TLE,MLE,RTE,CE,OLE,PE,FB})T(T∈{Running,AC,WA,TLE,MLE,RTE,CE,OLE,PE,FB}) ,表示評測狀態,除RunningRunning 外均表示評測結束。若爲RunningRunning ,則還會輸入一個正整數p(1≤p≤9)p(1≤p≤9) ,表示已經經過了p×10%p×10% 的測試點。若爲FBFB ,則表示全場第一個經過該題,應顯示AC∗AC∗ 。Output對於每條評測記錄,按要求輸出一行一個長度爲3838 的字符串,即直播顯示效果。Sample Inputios
5 19 qqqqq_University 1001 Running 3 125 quailty_U_2 1002 WA 4 quailty_U_3 1003 TLE 1 quailty_U_4 1003 FB 2 qqqqq 1001 AC
Sample Output測試
19|qqqqq_University|1001|[XXX ] 125|quailty_U_2 |1002|[ WA ] 4|quailty_U_3 |1003|[ TLE ] 1|quailty_U_4 |1003|[ AC* ] 2|qqqqq |1001|[ AC ]
#include <cstdio> #include <iostream> #include <string> #include <cstring> #include <cmath> #include <algorithm> #include <queue> #include <vector> #include <map> using namespace std; int t, ran, prob, p; string s, T; int main() { scanf("%d", &t); while(t--) { scanf("%d", &ran); cin>>s; int len = s.size(); if(len<16) for(int i = len; i<16; i++) s += " "; scanf("%d", &prob); cin>>T; string miao, si; // char miao[18]; if(T == "Running") { scanf("%d", &p); for(int i = 0; i<p; i++) miao += "X";//後面輸出空格 for(int i = p; i<10; i++) miao += " "; } else if(T == "FB") { for(int i = 0; i<4; i++) si += " "; si += "AC*"; int le = si.size(); for(int i = le; i<10; i++) si +=" "; } else if(T == "TLE") { for(int i = 0; i<4; i++) si += " "; si += "TLE"; int le = si.size(); for(int i = le; i<10; i++) si +=" "; } else if(T == "AC") { for(int i = 0; i<4; i++) si += " "; si += "AC"; int le = si.size(); for(int i = le; i<10; i++) si +=" "; } else if(T== "WA") { for(int i = 0; i<4; i++) si += " "; si += "WA"; int le = si.size(); for(int i = le; i<10; i++) si +=" "; } else if(T== "MLE") { for(int i = 0; i<4; i++) si += " "; si += "MLE"; int le = si.size(); for(int i = le; i<10; i++) si +=" "; } else if(T== "RTE") { for(int i = 0; i<4; i++) si += " "; si += "RTE"; int le = si.size(); for(int i = le; i<10; i++) si +=" "; } else if(T== "CE") { for(int i = 0; i<4; i++) si += " "; si += "CE"; int le = si.size(); for(int i = le; i<10; i++) si +=" "; } else if(T== "OLE") { for(int i = 0; i<4; i++) si += " "; si += "OLE"; int le = si.size(); for(int i = le; i<10; i++) si +=" "; } else if(T== "PE") { for(int i = 0; i<4; i++) si += " "; si += "PE"; int le = si.size(); for(int i = le; i<10; i++) si +=" "; } if(ran/100 == 0)//輸出排名 { printf(" "); if(ran/10 == 0) printf(" "); } printf("%d|", ran); cout<<s<<"|"; printf("%d|[", prob); if(T == "Running")//輸出狀態 { cout<<miao<<"]"<<'\n'; } else { cout<<si<<"]"<<'\n'; } } return 0; }