zoj 3705 Applications
生活随笔
收集整理的這篇文章主要介紹了
zoj 3705 Applications
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
模擬題。去年省賽第一道。
#include<cstdio> #include<iostream> #include<algorithm> #include<map> #include<cmath> #include<cstring> using namespace std;const double eps=1e-8; struct student{char name[50];double score; }ss[1005];int maomao[1000],old[1000]; struct node{char teamname[50];int pos; }ttt[1000];int is_prime(int n){int i;for(i=2;i<=sqrt(n);i++){if(n%i==0) return 0;}return 1; }int cmp1(int a,int b){return a>b; }int cmp2(struct student a,struct student b){if(fabs(a.score-b.score)<eps) return strcmp(a.name,b.name)<0;else return a.score>b.score; } int main() {int t;scanf("%d",&t);while(t--){int n,m,i,j,k;memset(maomao,-1,sizeof(maomao));memset(old,-1,sizeof(old));scanf("%d%d",&n,&m);int r;scanf("%d",&r);for(i=0;i<r;i++) scanf("%d",&maomao[i]);int s;scanf("%d",&s);for(i=0;i<s;i++) scanf("%d",&old[i]);int q;scanf("%d",&q);getchar();for(i=0;i<q;i++){scanf("%s %d",ttt[i].teamname,&ttt[i].pos);}for(i=0;i<n;i++){char team[50],sex;int pp,c;scanf("%s %s %c %d %d",ss[i].name,team,&sex,&pp,&c);ss[i].score=0;for(j=0;j<q;j++){if(strcmp(team,ttt[j].teamname)==0){if(ttt[j].pos==1) ss[i].score+=36;else if(ttt[j].pos==2) ss[i].score+=27;else if(ttt[j].pos==3) ss[i].score+=18;break;}}if(sex=='F') ss[i].score+=33;for(j=0;j<pp;j++){int proid;int flag1=0,flag2=0;scanf("%d",&proid);for(k=0;k<r;k++){if(proid==maomao[k]){ss[i].score+=2.5;flag1=1;break;}}if(flag1==0){for(k=0;k<s;k++){if(proid==old[k]){ss[i].score+=1.5;flag2=1;break;}}if(flag2==0){if(is_prime(proid)) ss[i].score+=1;else ss[i].score+=0.3;}}}double sy[1005];for(j=0;j<c;j++){scanf("%lf",&sy[j]);}getchar();sort(sy,sy+c,cmp1);double rr=0;if(c>=3){rr=(sy[2]-1200)*1.5/100;}ss[i].score+=rr;}sort(ss,ss+n,cmp2);for(i=0;i<m;i++) printf("%s %.3lf\n",ss[i].name,ss[i].score);}return 0; }超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生
總結(jié)
以上是生活随笔為你收集整理的zoj 3705 Applications的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zoj2968 Difference G
- 下一篇: C++ map基本操作