https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5085

题目大意:给n个人以及每个人的名字s和他能杀死的敌人数m,将这些人按能杀死的敌人数进行排名并输出,m次查询,每次查询输出这个人的两个排名,

一个是他在他排名之前(他不能杀死,注:他不能杀死与他杀死敌人数相等的人)的人数 + 1, 一个是他排名之前与他杀死敌人数相等的人数 + 1

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<algorithm> using namespace std; const int N = ; struct st
{
int m, add, same, f;
char s[];
} node[N], a[N]; int cmp(const void *a, const void *b)
{
st *s1 = (st *)a , *s2 = (st *)b;
if(s1->m != s2->m)
return s2->m - s1->m;
else
return strcmp(s1->s, s2->s);
//按字典序排列
} int main()
{
int n, i, j, m;
while(scanf("%d", &n), n)
{
for(i = ; i < n ; i++)
{
scanf("%s%d", node[i].s, &node[i].m);
node[i].same = node[i].f = ;
}
qsort(node, n, sizeof(node[]), cmp);
scanf("%d", &m);
for(i = ; i <= m ; i++)
{
scanf("%s", a[i].s);
for(j = ; j < n ; j++)
{
if(strcmp(a[i].s, node[j].s) == )
a[i].add = j;
}
}//a[i].add就是第i个人的排名,排名从第0名开始
for(i = ; i < n - ; i++)
{
for(j = i + ; j < n ; j++)
{
if(node[i].m == node[j].m)
node[j].same++;
}
}//统计他排名之前与他杀死敌人数相等的人数
for(i = ; i < n ; i++)
printf("%s %d\n", node[i].s, node[i].m);
for(i = ; i <= m ; i++)
{
if(node[a[i].add].same >= )
printf("%d %d\n", a[i].add - node[a[i].add].same + , node[a[i].add].same + );
else
printf("%d\n", a[i].add - node[a[i].add].same + );
}
}
return ;
}

UVALive 7077 - Song Jiang's rank list(模拟)的更多相关文章

  1. Song Jiang's rank list

     Song Jiang's rank list Time Limit:1000MS     Memory Limit:512000KB     64bit IO Format:%I64d & ...

  2. 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 ...

  3. 2014ACM/ICPC亚洲区广州站 Song Jiang's rank list

    欢迎参加——每周六晚的BestCoder(有米!) Song Jiang's rank list Time Limit: 2000/1000 MS (Java/Others)    Memory Li ...

  4. HDU5131-Song Jiang's rank list HDU5135-Little Zu Chongzhi's Triangles(大佬写的)

    Song Jiang's rank list Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java ...

  5. 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 ...

  6. UVALive 6093 Emergency Room --优先队列实现的模拟

    题意:给n个医生,这些医生有一个上班时间,然后给一些病人,病人有一个到达的时间,以及一些诊断,诊断有property(优先级)和duration(诊断时间)这两个属性,每个病人可能要诊断多次,最后问每 ...

  7. UVALive 5888 Stack Machine Executor (栈+模拟)

    Stack Machine Executor 题目链接: http://acm.hust.edu.cn/vjudge/problem/26636 Description http://7xjob4.c ...

  8. UVALive 3486/zoj 2615 Cells(栈模拟dfs)

    这道题在LA是挂掉了,不过还好,zoj上也有这道题. 题意:好大一颗树,询问父子关系..考虑最坏的情况,30w层,2000w个点,询问100w次,貌似连dfs一遍都会TLE. 安心啦,这肯定是一道正常 ...

  9. UVALive 2323 Modular Multiplication of Polynomials(模拟)

    这是一个相对简单的模拟,因为运算规则已经告诉了我们,并且比较简单,不要被吓到…… 思路:多项式除以另外一个多项式,如果能除,那么他的最高次一定被降低了,如果最高次不能被降低,那说明已经无法被除,就是题 ...

随机推荐

  1. Codeforces Round #276 (Div. 2)

    A. Factory 题意:给出a,m,第一天的总量为a,需要生产为a%m,第二天的总量为a+a%m,需要生产(a+a%m)%m 计算到哪一天a%m==0为止 自己做的时候,把i开到1000来循环就过 ...

  2. Need to add a caption to a jpg, python can't find the image

    importImage,ImageDraw,ImageFont, os, glob list = glob.glob('*.jpg')for infile in list:print infile f ...

  3. 14.Object-C--浅谈Foundation框架字符串NSString 与NSMutableString

    OC的字符串时经常使用到的,今天我对于OC字符串做一个简单的总结,如果有错误之处,麻烦留言指正.感谢! NSString是一个不可变长度的字符串对象.表示它初始化以后,你不能改变该变量所分配的内存中的 ...

  4. jquerymobile使用技巧

    1)ajax开关(默认jquery以ajax方式加载页面) $.mobile.ajaxEnabled = false; 2)不编译指定标签 $.mobile.page.prototype.option ...

  5. Myeclipse提示失效?

  6. JS面向对象组件(三)--面向对象中的常用属性和方法

    图片的由来看下面: 1.hasOwnProperty:看是不是对象自身下面的属性 var arr = []; arr.num = ; Array.prototype.num2 = ; //所有的数组对 ...

  7. ON、WHERE、HAVING的区别

    ON .WHERE.HAVING都能通过限制条件筛选数据,但他们的使用及其不同.下面我们来分析三者之间的区别. 1.       ON 和WHERE 所有的查询都回产生一个中间临时报表,查询结果就是从 ...

  8. 64 位系统遇到未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0

    本人写的.net程序部署在windowsserver 2003的操作系统上正常,部署到windows server 2008上时候报错“未在本地计算机上注册 Microsoft.Jet.OLEDB.4 ...

  9. 清除Xcode缓存和存档文件

    XCode4.2    finder中找到   /Users/Library/Developer/Xcode    (注:Library资源库是隐藏的文件夹) 里面有DerivedData和Snaps ...

  10. [摘]string.jion() 解决办法

    for (int j = 1; j <= 5; j++)            {                List<int> list = new List<int&g ...