pat_1028

#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;
struct student{
  int id;
  char name[10];
  int grade;
}student[100008];
bool cmp1(struct student x,struct student y)
{
   return y.id>x.id;
}
bool cmp2(struct student x,struct student y)
{
  if(strcmp(x.name,y.name)!=0)
  {
	  return strcmp(x.name ,y.name)>0?0:1;
  }
  return y.id>x.id;
}

bool cmp3(struct student x,struct student y)
{
  if(x.grade!=y.grade)
  {
	  return y.grade>x.grade;
  }
  return y.id>x.id;
}

int main(){
    int n,m;
	scanf("%d%d",&n,&m);
	for(int i=0;i<n;i++)
		scanf("%d %s %d",&student[i].id,student[i].name,&student[i].grade);
	if(m==1)
		sort(student,student+n,cmp1);
	if(m==2)
	
		sort(student,student+n,cmp2);
	if(m==3)	
		sort(student,student+n,cmp3);
	for(int i=0;i<n;i++)
		printf("%06d %s %d\n",student[i].id,student[i].name,student[i].grade);

   return 0;
}

發佈了41 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章