社区讨论

B3968 [GESP202403 五级] 成绩排序 求助求助求助!!!

学术版参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m67cnrw4
此快照首次捕获于
2025/01/22 11:33
去年
此快照最后确认于
2025/11/04 11:03
4 个月前
查看原帖

求助 !!! memcmp方式,样例和对拍过,提交不过

CPP
#include<bits/stdc++.h>
using namespace std;

typedef struct __packed {
   int zf,cm,maxcm,xh;
}cj;
int cmp(const void *a, const void *b){
	return memcmp(a,b,3*sizeof(int))>0 ? -1:1;
}
int main(){
	int n ,c,m,e;
	cin>>n;
	cj *pcj;
	int *pm;	
	
	pcj = new cj[n+1];
	pm = new int [n+1];
	for (int i = 0 ;i< n; i++){
		cin >> c>>m>>e;
		pcj[i].zf =  c + m + e;
		pcj[i].cm = c + m;
		pcj[i].maxcm = max(c,m);
		pcj[i].xh = i;
	}
	qsort( pcj,n,sizeof(cj),cmp);
	int cnt =1;
	for (int i =0;i< n;i++){
		pm[pcj[i].xh]= cnt; 
		if (memcmp(&pcj[i],&pcj[i+1],3*sizeof(int))!=0)
				cnt =i+2;
	}
	for (int i =0;i< n;i++)
		cout <<pm[i]<<endl;
	delete []pcj;
	delete []pm;
	return 0;
}
帮帮可怜的我把,谢谢^qwq^

回复

2 条回复,欢迎继续交流。

正在加载回复...