您的位置:首页 > 其它

2014ACM/ICPC亚洲区牡丹江站 浙大命题

2015-07-16 16:56 363 查看
A Average Score http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5373

a班有n个人,b班有m个人,bob在a班,现在知道除了bob以外的所有人的成绩,还知道bob如果从a班转到b班,两个班的平均成绩都会提高,问bob合法的成绩区间。

解法,求一下两个班的平均成绩,bob的成绩肯定要比a班的小,比b班的大。

#include<cstdio>
#include<cstring>
const int M=1e3+10;
char a[M];
int main(){
int t;
while(~scanf("%d",&t)){
while(t--){
scanf("%s",a);
int la=strlen(a),star=0,num=0;
for(int i=0;i<la;i++){
if(a[i]=='*'){
star++;
}
}
num=la-star;
int ans=0,tmp=0;
if(num<star+1){
ans=star+1-num;
tmp=ans;
}
for(int i=0;i<la;i++){
if(a[i]!='*'){
tmp++;
continue;
}
if(tmp>=2){
tmp--;
continue;
}
for(int j=la-1;j>=0;j--){
if(a[j]!='*'){
ans++;
a[j]='*';
tmp++;
break;
}
}
}
printf("%d\n",ans);
}
}
return 0;
}


View Code

end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: