您当前的位置: 首页 > 

不牌不改

暂无认证

  • 3浏览

    0关注

    422博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

1075 PAT Judge (25 分)

不牌不改 发布时间:2022-04-21 16:11:40 ,浏览量:3

题目

题目链接

题解

结构体。

讲一下一些坑点: 当没有一个题通过的时候不要输出这个人的信息; 当提交了没通过,那么输出的该题得分为0; 统计成绩时-1当0算,即忽略没通过的。

因为存在成绩为-1的情况,所以先将成绩都初始化为-INF。(核心!)

排序优先级:

  1. 成绩之和
  2. AC题的数量
  3. 学生id

这题真狗,debug俩小时。

代码
#include
using namespace std;
const int N = 1e6+10;
int n, m, k;
int p[10];

struct node {
	int id;
	int score[10];  
	int total;
	int perfect;
	int flag;
	node() {
		id = N; // 排序的时候因为分数只统计正数的,所以会出现没出现的编号的成绩也为0,编号也为0,会排在有编号非零但成绩为0的同学前面,避免该情况要初始化 
		memset (score, 0xf0, sizeof score); // 初始化为极小值(负数) 
		total = 0;
		perfect = 0;
		flag = 0;
	}
} stu[N];

void printinfo (int rk, int i) {
	printf ("%d %05d %d", rk, stu[i].id, stu[i].total);
	for (int j = 1;j  sid >> pid >> score;
		stu[sid].id = sid;
		stu[sid].score[pid] = max (score, stu[sid].score[pid]);
	}	
	for (int i = 1;i             
关注
打赏
1662186765
查看更多评论
0.0435s