PAT 1012
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <string.h>
typedef struct{
char id[10];
int c;
int m;
int e;
int a;
int best;
char bestCourse;
}stu;
int cmpA(const void * x, const void * y){
return ((*(stu *)y).a - (*(stu *)x).a);
}
int cmpC(const void * x, const void * y){
return ((*(stu *)y).c - (*(stu *)x).c);
}
int cmpM(const void * x, const void * y){
return ((*(stu *)y).m - (*(stu *)x).m);
}
int cmpE(const void * x, const void * y){
return ((*(stu *)y).e - (*(stu *)x).e);
}
int main(){
//freopen("in.txt","r",stdin);
int n,m;
int i;
stu stus[2001];
char obj[10];
scanf("%d %d",&n,&m);
for(i=0;i<n;i++){
scanf("%s %d %d %d",stus[i].id,&stus[i].c,&stus[i].m,&stus[i].e);
stus[i].a = (stus[i].c + stus[i].m + stus[i].e)/3;
stus[i].best = 1000;
stus[i].bestCourse = '0';
}
int curGrade;//
int curScore;
qsort(stus,n,sizeof(stu),cmpA);
curGrade = 1;
curScore = stus[0].a;
for(i=0;i<n;i++){
//if(stus[i].a < curScore){ curGrade++; curScore = stus[i].a;}
if(stus[i].a < curScore){ curGrade = i+1; curScore = stus[i].a;}// , ( 1!),
if(stus[i].best > curGrade) {
stus[i].best = curGrade;
stus[i].bestCourse = 'A';
}
}
qsort(stus,n,sizeof(stu),cmpC);
curGrade = 1;
curScore = stus[0].c;
for(i=0;i<n;i++){
if(stus[i].c < curScore){ curGrade = i+1; curScore = stus[i].c;}
if(stus[i].best > curGrade) {
stus[i].best = curGrade;
stus[i].bestCourse = 'C';
}
}
qsort(stus,n,sizeof(stu),cmpM);
curGrade = 1;
curScore = stus[0].m;
for(i=0;i<n;i++){
if(stus[i].m < curScore){ curGrade = i+1; curScore = stus[i].m;}
if(stus[i].best > curGrade) {
stus[i].best = curGrade;
stus[i].bestCourse = 'M';
}
}
qsort(stus,n,sizeof(stu),cmpE);
curGrade = 1;
curScore = stus[0].e;
for(i=0;i<n;i++){
if(stus[i].e < curScore){ curGrade = i+1; curScore = stus[i].e;}
if(stus[i].best > curGrade) {
stus[i].best = curGrade;
stus[i].bestCourse = 'E';
}
}
while(0 < m--){
scanf("%s",obj);
for(i=0; i<n; i++){
if (strcmp(obj,stus[i].id) == 0){
printf("%d %c
",stus[i].best,stus[i].bestCourse);
break;
}
}
if(i==n){
printf("N/A
");
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.