【PAT】1075. PAT Judge
来源:互联网 发布:固定收益 经典知乎 编辑:程序博客网 时间:2024/04/25 07:52
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;struct Person{ int score[6]; int sum; int id; int perfect; bool flag;}person[10001];bool cmp(Person a,Person b){ if(a.sum!=b.sum) return a.sum>b.sum; else if(a.perfect!=b.perfect) return a.perfect>b.perfect; else return a.id<b.id;}int main(){ int n,k,m; cin>>n>>k>>m; int p[6]; for(int i=1;i<=k;i++) cin>>p[i]; int num=0; for(int i=0;i<n;i++){ person[i].id=i+1; person[i].sum=0; memset(person[i].score,-1,sizeof(person[i].score)); person[i].perfect=0; person[i].flag=false; } for(int i=0;i<m;i++){ int id,pid,gscore; scanf("%d%d%d",&id,&pid,&gscore); if(gscore==p[pid] && person[id-1].score[pid]<p[pid]) person[id-1].perfect++; if(gscore!=-1) person[id-1].flag=true; if(gscore==-1 && person[id-1].score[pid]==-1) person[id-1].score[pid]=0; else person[id-1].score[pid]=max(gscore,person[id-1].score[pid]); } for(int i=0;i<n;i++){ for(int j=1;j<=k;j++){ if(person[i].score[j]!=-1) person[i].sum+=person[i].score[j]; } } sort(person,person+n,cmp); int r=1; for(int i=0;person[i].flag&& i<n;i++){ if(i>0 && person[i].sum!=person[i-1].sum) r=i+1; printf("%d %05d %d",r,person[i].id,person[i].sum); for(int j=1;j<=k;j++) if(person[i].score[j]==-1) cout<<" "<<"-"; else cout<<" "<<person[i].score[j]; cout<<endl; } return 0;}用for初始化-1不知为何运行有问题,用memset后直接解决了
0 0
- PAT 1075. PAT Judge
- PAT-1075. PAT Judge
- 【PAT】1075. PAT Judge
- PAT--1075. PAT Judge
- PAT 1075. PAT Judge (25)
- PAT 1075. PAT Judge (25)
- 【PAT】1075. PAT Judge (25)
- 1075. PAT Judge
- 1075. PAT Judge
- 1075. PAT Judge (25)
- 1075. PAT Judge (25)
- 1075.PAT Judge
- 1075. PAT Judge (25)
- 1075. PAT Judge (25)
- 1075. PAT Judge (25)
- 1075. PAT Judge (25)
- 1075. PAT Judge (25)
- 1075. PAT Judge (25)
- 4-3
- Maven - 创建Java工程和Web工程
- 算法例子(快速排序和希尔排序)
- 比较器排序原理的分析
- 机器学习入门——多变量线性回归
- 【PAT】1075. PAT Judge
- 微服务实战(一):微服务架构的优势与不足
- spring boot 学习(四)Druid连接池的使用配置
- 5-1
- iOS内购
- Access denied for user ''@'localhost' to database 'mysql'
- 0122
- FFmpeg中AVPacket处理函数av_free_packet()和av_packet_free()的区别以及用法
- struts2路径问题