【洛谷P1159】排行榜
2024-10-21 16:29:28
排行榜
看到题解中一个很巧妙的做法:
先确定SAME的位置,
将DOWN的按输入顺序从上往下输出
再将UP的接着从上往下输出
这样便可以保证DOWN的人名次一定下降了
UP的人名次一定上升了
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int n,up[],down[],ans[];
int uhead,utail,dhead,dtail;
string s[];
int main()
{
scanf("%d",&n);
string c;
for(int i=;i<=n;i++){
cin>>s[i];
cin>>c;
if(c[]=='U') up[++utail]=i;
else if(c[]=='D') down[++dtail]=i;
else ans[i]=i;
}
for(int i=;i<=n;i++){
if(ans[i]) continue;
if(dhead<dtail) ans[i]=down[++dhead];
else ans[i]=up[++uhead];
}
for(int i=;i<=n;i++)
cout<<s[ans[i]]<<endl;
return ;
}
最新文章
- jQuery如何判断元素是否是隐藏的?
- Java基础知识强化之多线程笔记06:Lock接口 (区别于Synchronized块)
- BZOJ 1021 循环的债务
- 第四届CCF大数据学术会议征文通知
- 升级版:深入浅出Hadoop实战开发(云存储、MapReduce、HBase实战微博、Hive应用、Storm应用)
- MyBatis 的Mapper中有小于号的处理
- 201521123096《Java程序设计》第十一周学习总结
- Java 并发编程-再谈 AbstractQueuedSynchronizer 3 :基于 AbstractQueuedSynchronizer 的并发类实现
- 学习Struts--Chap02:Struts2框架各个功能模块和程序执行流程的介绍
- 《Linux及安全》课程实践二
- scala recursive value x$5 needs type
- spring mvc中获取请求URL
- 获取url后面的参数的方法
- 技术笔记5 MINA 和事务
- struts2 Action生命周期
- Inside Portable Class Libraries
- Disruptor 系列(二)使用场景
- MDL详解
- Robot Framework(Screenshot 库)
- tcp/iP协议族——IP工作原理及实例具体解释(下)