题意看样例就可以了啊。
简单的二级排序+暴力查询。
5 WuSong 12 LuZhishen 12 SongJiang 13 LuJunyi 1 HuaRong 15 5 WuSong LuJunyi LuZhishen HuaRong SongJiang 0
HuaRong 15 SongJiang 13 LuZhishen 12 WuSong 12 LuJunyi 1 3 2 5 3 1 2
#include <algorithm>
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <iomanip>
#include <stdio.h>
#include <string>
#include <queue>
#include <cmath>
#include <stack>
#include <ctime>
#include <map>
#include <set>
#define eps 1e-9
///#define M 1000100
///#define LL __int64
#define LL long long
///#define INF 0x7ffffff
#define INF 0x3f3f3f3f
#define PI 3.1415926535898
#define zero(x) ((fabs(x)<eps)?0:x)
#define mod 1000000007
#define Read() freopen("autocomplete.in","r",stdin)
#define Write() freopen("autocomplete.out","w",stdout)
#define Cin() ios::sync_with_stdio(false)
using namespace std;
inline int read()
{
char ch;
bool flag = false;
int a = 0;
while(!((((ch = getchar()) >= '0') && (ch <= '9')) || (ch == '-')));
if(ch != '-')
{
a *= 10;
a += ch - '0';
}
else
{
flag = true;
}
while(((ch = getchar()) >= '0') && (ch <= '9'))
{
a *= 10;
a += ch - '0';
}
if(flag)
{
a = -a;
}
return a;
}
void write(int a)
{
if(a < 0)
{
putchar('-');
a = -a;
}
if(a >= 10)
{
write(a / 10);
}
putchar(a % 10 + '0');
}
const int maxn = 320;
struct node
{
int num;
string str;
} f[maxn];
bool cmp(node a, node b)
{
if(a.num == b.num) return a.str < b.str;
return a.num > b.num;
}
int vis[maxn];
int kp[maxn];
int main()
{
Cin();
int n, k;
map<string, int>mp;
while(~scanf("%d",&n) && n)
{
for(int i = 0; i < n; i++)
cin >>f[i].str>>f[i].num;
sort(f, f+n, cmp);
int ans = 0;
for(int i = 0; i < n; i++)
{
cout<<f[i].str<<" "<<f[i].num<<endl;
mp[f[i].str] = f[i].num;
if(vis[f[i].num])continue;
kp[ans++] = f[i].num;
vis[f[i].num] = 1;
}
cin >>k;
string s;
while(k--)
{
cin >>s;
int xans = 0;
int xp = mp[s];
int sx;
for(int i = 0; i < n; i++)
{
if(f[i].num == xp)
{
sx = i+1;
break;
}
}
for(int i = 0; i < n; i++)
{
if(f[i].str == s) break;
else if(f[i].num == xp) xans++;
}
cout<<sx;
if(xans) cout<<" "<<xans+1;
cout<<endl;
}
}
}
HDU 5131 Song Jiang's rank list(排序)
原文:http://blog.csdn.net/xu12110501127/article/details/42918779