【HDOJ】5131 Song Jiang's rank list
STL的使用。
/* 5131 */
#include <iostream>
#include <map>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std; #define MAXN 205 typedef struct {
string s;
int i, n;
} hero_t; typedef struct node_t {
int mmin, mmax;
node_t() {}
node_t(int a, int b) {
mmin = a; mmax = b;
}
} node_t; hero_t heros[MAXN]; bool comp(hero_t a, hero_t b) {
if (a.n == b.n)
return a.s < b.s;
else
return a.n > b.n;
} int main() {
int n, m;
int i, j, k, id = ;
string s;
node_t nd; ios::sync_with_stdio(false); #ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
#endif while (cin>>n && n) {
for (i=; i<n; ++i) {
heros[i].i = i;
cin >>heros[i].s>>heros[i].n;
} sort(heros, heros+n, comp);
for (i=; i<n; ++i)
cout <<heros[i].s<<' '<<heros[i].n<<endl; map<string, node_t> tb;
i = ;
while (i < n) {
j = ;
while ((i+j)<n && heros[i+j].n == heros[i].n)
++j;
if (j > ) {
for (k=; k<j; ++k) {
tb[heros[i+k].s] = node_t(k+, i+);
}
i += j;
} else {
tb[heros[i].s] = node_t(, i+);
++i;
}
}
cin >>m;
while (m--) {
cin >>s;
nd = tb[s];
if (nd.mmin == )
cout <<nd.mmax<<endl;
else
cout <<nd.mmax<<' '<<nd.mmin<<endl;
}
id = ;
} return ;
}
【HDOJ】5131 Song Jiang's rank list的更多相关文章
- hdu 5131 Song Jiang's rank list
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5131 Song Jiang's rank list Description <Shui Hu Z ...
- HDU 5131.Song Jiang's rank list (2014ACM/ICPC亚洲区广州站-重现赛)
Song Jiang's rank list Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 512000/512000 K (Java ...
- 【HDOJ】5096 ACM Rank
Treap+set仿函数重定义.每当ac一道题目时,相当于对总时间减去一个大数. /* 5096 */ #include <iostream> #include <string> ...
- 【HDOJ】1811 Rank of Tetris
并查集+拓扑排序.使用并查集解决a = b的情况. #include <iostream> #include <cstdio> #include <cstring> ...
- 【HDOJ】4729 An Easy Problem for Elfness
其实是求树上的路径间的数据第K大的题目.果断主席树 + LCA.初始流量是这条路径上的最小值.若a<=b,显然直接为s->t建立pipe可以使流量最优:否则,对[0, 10**4]二分得到 ...
- 【HDOJ】4601 Letter Tree
挺有意思的一道题,思路肯定是将图转化为Trie树,这样可以求得字典序.然后,按照trie的层次求解.一直wa的原因在于将树转化为线性数据结构时要从原树遍历,从trie遍历就会wa.不同结点可能映射为t ...
- 【HDOJ】【3506】Monkey Party
DP/四边形不等式 裸题环形石子合并…… 拆环为链即可 //HDOJ 3506 #include<cmath> #include<vector> #include<cst ...
- 【HDOJ】【3516】Tree Construction
DP/四边形不等式 这题跟石子合并有点像…… dp[i][j]为将第 i 个点开始的 j 个点合并的最小代价. 易知有 dp[i][j]=min{dp[i][j] , dp[i][k-i+1]+dp[ ...
- 【HDOJ】【3480】Division
DP/四边形不等式 要求将一个可重集S分成M个子集,求子集的极差的平方和最小是多少…… 首先我们先将这N个数排序,容易想到每个自己都对应着这个有序数组中的一段……而不会是互相穿插着= =因为交换一下明 ...
随机推荐
- 在SQL中使用PL/SQL函数存在的问题
-----------------------------Cryking原创------------------------------ -----------------------转载请注明出处, ...
- [连载]JavaScript讲义(03)--- JavaScript面向对象编程
- Android三种实现自定义ProgressBar的方式介绍
一.通过动画实现 定义res/anim/loading.xml如下: View Row Code<?xml version="1.0" encoding="UTF- ...
- 使用EPEL和REMI第三方yum源
http://dl.fedoraproject.org/pub/epel/ epel-release-latest-.noarch.rpm redhat5 epel-release-latest-.n ...
- Junit使用教程(一)
几乎所有程序员都听说过Junit的大名,但不知真正懂得运用它的人有多少,我便是其中的一个小白. 知道Junit是用来测试的,但却把“宝刀”当成了“菜刀”用.为了从此不再菜鸟,特此总结整理了下Junit ...
- C++对象模型学习笔记
1. 全局变量是如何初始化的 //global var A a; int main() { cout<<a<<endl; ; } 如上述例子,全局变量a是在main()函数之前 ...
- 解决CSS中float:left后需要clear:both清空的繁琐步骤(转)
之前,因为公司专门有CSS+DIV的切片设计师,所以我一直都是注重程序的设计与开发.现在,因为接了一些Web网站的项目需要制作,就在空闲时间学习起了CSS.Jquery. 现在,大部分的横排导航都 ...
- (转)MySQL数据库命名规范及约定
一.[操作规范]1. 如无备注,则表中的第一个id字段一定是主键且为自动增长:2. 如无备注,则数值类型的字段请使用UNSIGNED属性:3. 如无备注,排序字段order_id在程序中默认使用降序排 ...
- 34.Spring-Aop.md
http://blog.csdn.net/bigtree_3721/article/details/50759843 目录 [toc] --- 1.概念 1.1概念 AOP是Spring提供的关键特性 ...
- mysql启动不了:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket
ps aux |grep mysql kill所有列出的进程,然后重启 service mysql start 原因有可能是mysqld没启动:service mysqld start. 持续出现此问 ...