CF#24-B - F1 Champions
来源:互联网 发布:淘宝摇一摇在哪 编辑:程序博客网 时间:2024/06/05 17:00
http://codeforces.com/problemset/problem/24/B
模拟题。。。直接用set模拟即可
无坑点。。
错误的地方。。。 写映射函数一定要注意每条路径都要return,有些没说明的,可能隐含意思是return 0,否则如果没有return 默认返回随机值,导致WA.
#include <cstdio>#include <cmath>#include <cstring>#include <string>#include <algorithm>#include <iostream>#include <queue>#include <map>#include <set>#include <vector>#include<stack>using namespace std; const double pi=acos(-1.0);const double eps=1e-6;struct node{string name;int level[55];int point;node(){name="";point=0;memset(level,0,sizeof(level));}bool operator <(const node &b) const{if (point!=b.point)return point<b.point;int i;for (i=1;i<=50;i++){if (level[i]==b.level[i])continue;return (level[i]<b.level[i]);}} node(const node& b){name=b.name;point=b.point;for (int i=0;i<=50;i++)level[i]=b.level[i];}};struct cmp{bool operator()(const node&a,const node&b)const{if (a.level[1]!=b.level[1])return a.level[1]<b.level[1] ;if (a.point!=b.point)return a.point<b.point;int i;for (i=2;i<=50;i++){if (a.level[i]==b.level[i])continue;return (a.level[i]<b.level[i]);}}};set<node> sb;set<node,cmp> sb_p;set<node,cmp>::iterator it_p;set<node>::iterator it;int get(int i){if (i==1) return 25;if (i==2) return 18;if (i==3) return 15;if (i==4) return 12;if (i==5) return 10;if (i==6) return 8;if (i==7) return 6;if (i==8) return 4;if (i==9) return 2;if (i==10) return 1;if (i>10) return 0;}set<node>::iterator myfind1 (node&b){set<node>::iterator tt;for (tt=sb.begin();tt!=sb.end();tt++){if ((*tt).name==b.name) return tt;}return sb.end();}set<node,cmp>::iterator myfind2 (node&b){set <node,cmp>::iterator tt;for (tt=sb_p.begin();tt!=sb_p.end();tt++){if ((*tt).name==b.name) return tt;}return sb_p.end();}int main(){ int t;cin>>t;while(t--){int n;cin>>n;getchar();string ss;int i;for (i=1;i<=n;i++){cin>>ss;node tmp;tmp.name=ss;it=myfind1(tmp);if (it!=sb.end()){tmp=*it;sb.erase(it);}tmp.level[i]++;tmp.point+=get(i);sb.insert(tmp);node tt;tt.name=ss;it_p=myfind2(tt);if (it_p!=sb_p.end()){tt=*it_p;sb_p.erase(it_p);}tt.point+=get(i);tt.level[i]++;sb_p.insert(tt);}}it=sb.end();if (it!=sb.begin()) it--;cout<<(it->name)<<endl; it_p=sb_p.end(); if (it_p!=sb_p.begin()) it_p--;cout<<(it_p->name)<<endl;return 0;}
0 0
- CF#24-B - F1 Champions
- CodeForces 24B-F1 Champions
- CodeForces 24B F1 Champions (简单题)
- CodeForces 24B F1 Champions(排序)
- cf-B
- cf B
- CF 1B Spreadsheet
- CF 3B Lorry
- CF 176B
- CF 91B
- cf 131 DIV2 B
- CF 113B || CF196D
- CF 126B
- CF-236B
- CF 254B(日期)
- cf 79B
- CF - 158B - Taxi
- CF 296B
- Java Web项目相对路径
- 卫星地图(貌似USACO)
- cf#30-K - Codeforces World Finals-模拟题-日期
- 【NYOJ】[101]两点距离
- 函數數組的綜合應用
- CF#24-B - F1 Champions
- 【NYOJ】[111]分数加减法
- else if 语句的应用
- 线程基础:线程池——基本使用(下)
- 连通图小结
- 模拟测试框架-Mockito
- openCV学习记录:滤镜:反色
- DEZENDER
- Embarcadero Delphi 10 Seattle Update1 v23.0.21418.4207 Lite v12.1 精简版