1025. PAT Ranking
来源:互联网 发布:thunder mac 2.7.8 编辑:程序博客网 时间:2024/04/29 21:22
这一题:先对整体进行排序,在给每组进行排序。在对每组进行排序时要对记录每组的前一个值。
开头使用冒泡排序进行整体排序结果超时,技术菜的我只好使用sort,百度后才发现自定义cmp在false情况下进行交换。
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#define max(a,b) a>b?a:b#define min(a,b) a<b?a:busing namespace std;struct node{char name[14];int point;int frank;int lnum;int lrank;};bool cmp(node A,node B)//false情况下成立{ if(A.point==B.point) if(strcmp(A.name,B.name)>0) return false; else return true; else return A.point>B.point;}void lsort(node b[],int k,int T){ int flag=0; node last[301];//用于记录上一个每组元素,用于组内排名 int lnum[101]={0};//遍历时记录已遍历到每组的第几个数 用于组内排名 node text; sort(b,b+k,cmp); int num=1; b[0].frank=1; b[0].lrank=1; last[b[0].lnum]=b[0]; lnum[b[0].lnum]++; for(int i=1;i<k;i++) { num++; lnum[b[i].lnum]++; if(lnum[b[i].lnum]==1) { b[i].lrank=1; last[b[i].lnum]=b[i]; } else { if(b[i].point==last[b[i].lnum].point) b[i].lrank=last[b[i].lnum].lrank; else b[i].lrank=lnum[b[i].lnum]; last[b[i].lnum]=b[i]; } if(b[i].point==b[i-1].point) b[i].frank=b[i-1].frank; else b[i].frank=num; } printf("%d\n",k); for(int i=0;i<k;i++) printf("%s %d %d %d\n",b[i].name,b[i].frank,b[i].lnum,b[i].lrank);}int main(){ int T; int n; node b[30000]; scanf("%d",&T); int k=0; for(int i=0;i<T;i++) { scanf("%d",&n); for(int j=0;j<n;j++) { scanf("%s%d",&b[k].name,&b[k].point); b[k++].lnum=i+1; } }lsort(b,k,T); 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)
- Android Studio 利用GsonFormat插件解析gson格式问题
- 人成长中必须知道的20个故事
- 自定义view
- Java虚拟机启动参数详解
- ISO8583报文协议
- 1025. PAT Ranking
- 关于使用dialog主题的activity问题
- poj3685
- Android使用Drawable资源之使用ClipDrawable资源 实现图片缓慢展示
- 用户态多线程环境下IO端口权限问题
- code4craft/netty-learning
- 解题报告:POJ_1155 TELE 树型DP(树上01背包)
- instanceof关键字
- 调用标准请求报错