1085 PAT单位排行
2022/7/13 23:23:01
本文主要是介绍1085 PAT单位排行,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
注意点
bool cmp_diy(const pair3& a,const pair3& b){//const xxx & x 作用是引用某个变量,只读它的内容,但不能修改这个引用的变量
代码
#include <iostream> #include <cstdio> #include <string> #include <map> #include <set> #include <utility> #include <vector> #include <algorithm> using namespace std; struct pair3{ string first; float second; int third; }; string chan_name(string a){ string b=a; for(int i=0;a[i]!=NULL;i++){ if(a[i]<='Z'&&a[i]>='A'){ b[i]-=('A'-'a'); } } return b; } bool cmp_diy(const pair3& a,const pair3& b){//const xxx & x 作用是引用某个变量,只读它的内容,但不能修改这个引用的变量 if(a.second!=b.second){ return a.second>b.second; } else{ if(a.third!=b.third){ return a.third<b.third; } else{ return a.first<b.first; } } } int main() { int n; string index; float point; string school; map<string,int> mp; map<string,float> mp2; set<string> st; pair3 pa; vector<pair3> vt; cin>>n; for(int i=0;i<n;i++){ cin>>index>>point>>school; school=chan_name(school); st.insert(school); if(mp.find(school)!=mp.end()){ mp[school]++; } else{ mp[school]=1; } if(mp2.find(school)!=mp2.end()){ ; } else{ mp2[school]=0; } if(index[0]=='B'){ mp2[school]+=point/1.5; } else if(index[0]=='A'){ mp2[school]+=point; } else if(index[0]=='T'){ mp2[school]+=point*1.5; } } for(set<string>::iterator it=st.begin();it!=st.end();it++){ pa.first=*it; pa.second=int(mp2[*it]); pa.third=mp[*it]; vt.push_back(pa); } sort(vt.begin(),vt.end(),cmp_diy); cout<<vt.size()<<endl; int tmpi; int tmpp; for(int i=0;i<vt.size();i++){ if(i==0){ tmpp=vt[i].second; tmpi=i+1; cout<<tmpi; } else{ if(vt[i].second==tmpp){ cout<<tmpi; } else{ tmpi=i+1; tmpp=vt[i].second; cout<<tmpi; } } cout<<" "<<vt[i].first<<" "<<vt[i].second<<" "<<vt[i].third<<endl; } return 0; }
这篇关于1085 PAT单位排行的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25初学者必备:订单系统资料详解与实操教程
- 2024-12-24内网穿透资料入门教程
- 2024-12-24微服务资料入门指南
- 2024-12-24微信支付系统资料入门教程
- 2024-12-24微信支付资料详解:新手入门指南
- 2024-12-24Hbase资料:新手入门教程
- 2024-12-24Java部署资料
- 2024-12-24Java订单系统资料:新手入门教程
- 2024-12-24Java分布式资料入门教程
- 2024-12-24Java监控系统资料详解与入门教程