2012-12-1多校連試験問題の保証
3094 ワード
に
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 72 Accepted Submission(s) : 24
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
くの は の ランキングに を っている. には があるため、 が 35%( を るときは4 5 )で の を えている. 、 の を せて、 が を っているかどうかを できますか?
のテストデータがあり、 グループの の にn(10<=n<=100)を し、この にn の がいることを す. くn は、 に1つの ( は する でスペースを まず、 さは 10で、 じ がないことを する)と1つの ( いに しくない)を む. と の をスペースで る. に、 の に1つの r(r<=10)を し、 くr には、 の のいずれかの を します.この が できれば、 の を します.そうでなければ No.(ランキングは1からカウント).
Sample Input 10
zhangsan 98.00
lisi 99.00
wangwu 89.00
dasan 88.00
xiaosi 78.00
liuliu 79.00
hhah 77.00
jisd 64.00
ming 72.00
da 45.00
5
wangwu
jisd
dasan
liuliu
zhangsan
Sample Output 3
No
4
No
2
______________________________________________________
PS.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct{
char name[15];
double m;
}men;
int cmp(const void *a,const void*b){
return (*(men *)b).m-(*(men *)a).m;
}
men ren[101];
int main(){
int n,n2;
int i,j;
char name2[15];
int total,renshu;
while(~scanf("%d",&n)){
total=0;
for(i=0;i<n;i++){
scanf("%s%lf",ren[i].name,&ren[i].m);
total=total+ren[i].m;
}
renshu=(float)((n)*0.35+0.5);
qsort(ren,n,sizeof(ren[0]),cmp);
scanf("%d",&n2);
for(i=0;i<n2;i++){
scanf("%s",name2);
for(j=0;j<n;j++){
if(strcmp(name2,ren[j].name)==0){
if(j<renshu)
printf("%d
",j+1);
else
printf("No
");
}
}
}
}
}