在比特镇举行的中国大学生程序设计竞赛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; }