题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6297
题意:很简单就是模拟现场赛中看屏幕时的画面,就像上次在B站那里看WF左下角的画面一样。
虽然觉得这个题真的很水,但是觉得挺有意思的一道题,我想起了GDUT 在WF时4题一遍AC,
记得杭电的,北航,清华大学,中山大学,福州大学,很多大学提交时我们都多激动呀,
ITMO的强大压力,首尔,华沙,东京,莫斯科好几所大学,交替领先,真的很澎湃的说,我觉得ACM是多么迷人呀。
尤其当北大领先的时候,主场发出一阵掌声,真的很强,我也幻想过自己身在其中。
可能自己想多了,多做题吧,别说WF了,我连在山东里拿个银牌都很悬了。
题意:主要是模拟;
思路:利用Sprintf来打印字符串即可
贴上代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string.h>
using namespace std;
char str[1000][1000]={'\0'};
int main()
{
int T;
scanf("%d",&T);
for(int t=0;t<T;t++){
int No,m,p,len;
char name[1000]={0},ans[10000]={0};;
char jd[1000]={0};
scanf("%d",&No);
scanf("%s",name);
scanf("%d",&p);
scanf("%s",jd);
string tmp=jd;
if(tmp=="Running"){
scanf("%d",&m);
memset(jd,'\0',sizeof(jd));
for(int i=0;i<m;i++){
jd[i]='X';
}
}
if(tmp=="FB"){
memset(jd,'\0',sizeof(jd));
strcpy(jd,"AC*");
}
sprintf(ans,"%3d",No);
len=strlen(ans);
sprintf(ans+len,"|%-16s|",name);
len=strlen(ans);
sprintf(ans+len,"%d|",p);
len=strlen(ans);
if(tmp=="Running"){
sprintf(ans+len,"[%-10s]",jd);
}else{
sprintf(ans+len,"[ %-6s]",jd);
}
strcpy(str[t],ans);
}
for(int i=0;i<T;i++){
printf("%s\n",str[i]);
}
return 0;
}
/*
19|qqqqq_University|1001|[*** ]
125|quailty_U_2 |1002|[ WA ]
4|quailty_U_3 |1003|[ TLE ]
1|quailty_U_4 |1003|[ AC* ]
2|qqqqq |1001|[ AC ]
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 ]
*/