首页 > 学院 > 开发设计 > 正文

PAT 1025

2019-11-08 02:23:58
字体:
来源:转载
供稿:网友
#include<cstdio>#include<algorithm>#include<stdlib.h>#include<cstring>using namespace std;struct student{	char id[15];	int score;	int lonum;	int localrank;	int finalrank;}st[30010];bool cmp(student st1,student st2){	if(st1.score!=st2.score)			return st1.score>st2.score;	else		return strcmp(st1.id,st2.id)<0;}int main(){		int n;//考场数	scanf("%d",&n);	int k[105]={};//考场人数	int sum=0;//总人数	for(int i=1;i<=n;i++)	{		scanf("%d",&k[i]);				for(int j=sum;j<(k[i]+sum);j++)		{			scanf("%s %d",st[j].id,&st[j].score);			st[j].lonum=i;		}		sort(st+sum,st+sum+k[i],cmp);		st[sum].localrank=1;		for(int j=sum+1;j<(k[i]+sum);j++)		{			if(st[j].score==st[j-1].score)				st[j].localrank=st[j-1].localrank;			else					st[j].localrank=j-sum+1;		}		sum=k[i]+sum;	}	sort(st,st+sum,cmp);	st[0].finalrank=1;	for(int i=1;i<sum;i++)	{		if(st[i].score==st[i-1].score)				st[i].finalrank=st[i-1].finalrank;			else					st[i].finalrank=i+1;	}	PRintf("%d/n",sum);	for(int i=0;i<sum;i++)	{		printf("%s %d %d %d/n",st[i].id,st[i].finalrank,st[i].lonum,st[i].localrank);	}	system("pause");	return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表