1025. PAT Ranking
来源:互联网 发布:手机淘宝首页登陆 编辑:程序博客网 时间:2024/04/28 06:28
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1025
// 先本地排序,在全局排序#include <stdio.h>#include <string.h>#include <stdlib.h>#include <ctype.h>#include <math.h>#include <iostream>#include <string>#include <vector>#include <stack>#include <queue>#include <set>#include <algorithm>using namespace std;struct Stu{ string id; int score; int final_rank; int location; int local_rank; bool operator < (const Stu&A) const { if(score != A.score) return score > A.score; else return id < A.id; }};////////////////////////////////////////int N, K;vector<Stu> student;vector<Stu> temp_student_list;void sortAndFill_local(vector<Stu> & v){ sort(v.begin(), v.end()); int score=v[0].score; v[0].local_rank=1; int i; for(i=1; i<v.size(); i++) { if(v[i].score == score) { v[i].local_rank = v[i-1].local_rank; } else { v[i].local_rank = i+1; score = v[i].score; } }}void sortAndFill_final(vector<Stu> & v){ sort(v.begin(), v.end()); int score=v[0].score; v[0].final_rank=1; int i; for(i=1; i<v.size(); i++) { if(v[i].score == score) { v[i].final_rank = v[i-1].final_rank; } else { v[i].final_rank = i+1; score = v[i].score; } }}void saveToStudent(vector<Stu> v){ int i; for(i=0; i<v.size(); i++) { student.push_back(v[i]); } return ;}void Output(){ cout << student.size() << endl; int i; for(i=0; i<student.size(); i++) { cout << student[i].id << " " << student[i].final_rank << " " << student[i].location << " " << student[i].local_rank << endl; } return ;}int main(){#ifdef ONLINE_JUDGE#else freopen("E:\\in.txt", "r", stdin);#endif cin >> N; int loc; for(loc=1; loc<= N; loc++) { temp_student_list.clear(); cin >> K; Stu t; while(K-->0) { cin >> t.id >> t.score; t.location=loc; temp_student_list.push_back(t); }// 读入loc的数据 sortAndFill_local(temp_student_list); saveToStudent(temp_student_list); } sortAndFill_final(student); Output(); return 0;}
0 0
- PAT 1025. PAT Ranking
- PAT 1025. PAT Ranking
- PAT 1025. PAT Ranking
- 【PAT】1025. PAT Ranking
- PAT--1025. PAT Ranking
- 1025. PAT Ranking
- 1025. PAT Ranking (25)
- 1025. PAT Ranking
- 1025. PAT Ranking (25)
- 1025. PAT Ranking (25)
- 1025. PAT Ranking (25)
- 1025. PAT Ranking
- 1025. PAT Ranking
- 1025. PAT Ranking (25)
- 1025. PAT Ranking (25)
- 1025. PAT Ranking (25)
- 1025. PAT Ranking (25)
- 1025. PAT Ranking (25)
- 002_018 Python 查找目录中的第一个文件,指定类型
- DropdownListFor无法正确绑定值
- 最近遇到的问题及解决方法
- 分析一个文本文件中各个单词出现的频率,把频率最高的10个词打印出来
- 反射机制
- 1025. PAT Ranking
- getSharedPreferences的整理
- n个骰子,求所有可能和出现的概率&&约瑟夫环
- 大型门户网站架构分析[转]
- cocos2d-x 3.0rc0 win7
- javax.servlet.http.HttpServletRequest在哪个夹包中
- 1028. List Sorting
- 经过实践,这个安装是可行的
- StopWatch