PAT 랭 킹 집계
2206 단어 데이터 구조 과정 설계
컴퓨터 프로 그래 밍 능력 시험 (Programming Ability Test, PAT 로 약칭) 은 통 일 된 조직의 온라인 시험 및 자동 평가 방법 을 통 해 수험생 의 알고리즘 설계 와 프로 그래 밍 실현 능력 을 객관 적 으로 평가 하고 컴퓨터 프로 그래 밍 인 재 를 과학적 으로 평가 하여 기업 의 인재 선발 에 참고 기준 (인터넷 주소) 을 제공 하 는 데 목적 을 둔다.http://www.patest.cn)。
매번 시험 은 몇 개의 서로 다른 시험 점 에서 동시에 실시 되 고 각 시험 점 은 랜 으로 본 시험 점 의 성적 을 낸다.시험 이 끝 난 후 각 시험 점 의 성적 은 즉각 총 순위 표 로 합 쳐 질 것 이다.
지금 프로그램 을 써 서 각 시험 점 의 성적 을 자동 으로 병합 하고 총 순위 표를 만 드 세 요.
입력 형식:
입력 한 첫 번 째 줄 은 정정 수 N (≤ 100) 을 제시 하고 시험 총 수 를 대표 합 니 다.그 다음 에 N 개의 시험 점 의 성적 을 제시 하고 형식 은 다음 과 같다. 먼저 한 줄 은 정수 K (≤ 300) 를 제시 하고 이 시험 점 의 수험생 총 수 를 대표 한다.이 어 K 행 은 시험 번호 (13 자리 정수 로 구성) 와 점수 ([0, 100] 구간 내 정수) 를 포함해 줄 당 1 명의 수험생 정 보 를 주 고 중간 을 빈 칸 으로 구분한다.
출력 형식:
우선 첫 줄 에서 수험생 총 수 를 출력 한다.그 다음 에 총 수출 순위 표 는 모든 수험생 의 정보 가 한 줄 을 차지 하고 순 서 는 시험 번호, 최종 순위, 시험 번호, 이 시험 점 에서 의 순위 이다.그 중에서 시험 점 은 입력 에 따라 제 시 된 순서에 따라 1 부터 N 번호 까지 이다.수험생 의 수출 은 반드시 최종 순위 의 비 체감 순서에 따라 수출 해 야 하 며, 같은 점 수 를 얻 은 수험생 은 같은 순위 가 있어 야 하 며, 시험 번호 의 증가 순서에 따라 수출 해 야 한다.
입력 예시:
2
5
1234567890001 95
1234567890005 100
1234567890003 95
1234567890002 77
1234567890004 85
4
1234567890013 65
1234567890011 25
1234567890014 100
1234567890012 85
출력 예시:
9
1234567890005 1 1 1
1234567890014 1 2 1
1234567890001 3 1 2
1234567890003 3 1 2
1234567890004 5 1 4
1234567890012 5 2 2
1234567890002 7 1 5
1234567890013 8 2 3
1234567890011 9 2 4
Solution:
#include
using namespace std;
struct Node
{
string num;//
int pos; //
int score; //
int score2;//
int score3;//
} node;
vector v[102];
bool cmp(Node n1,Node n2)//
{
if(n1.score!=n2.score)
return n1.score>n2.score;
return n1.num>n;
for(int i=0; i>k;
for(int j=0; j>node.num>>node.score;
v[i].push_back(node);
}
sort(v[i].begin(),v[i].end(),cmp);
v[i][0].score2=1;
for(int j=1; j