HDU 5131 Song Jiang's rank list

本文介绍了一个基于《水浒传》中108好汉的故事背景,设计并实现了一个排名系统。该系统根据角色击杀敌人的数量进行排名,并能够处理相同击杀数时按名称字母顺序排名的情况。此外,还提供了查询角色具体排名的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路:水题


#include <bits/stdc++.h>
//#define N 100010
#define LL long long
#define INF 0x3f3f3f3f
#define U unsigned
using namespace std;
const int maxn = 300;
struct N
{
	string na;
	int nu, a, b;
}peo[maxn];
int cmp(const N &a, const N &b)
{
	if(a.nu==b.nu) return a.na < b.na;
	return a.nu > b.nu;
}

int cas=1,T;
int main()
{
	//freopen("1.in","w",stdout);
	//freopen("1.in","r",stdin);
	//freopen("1.out","w",stdout);
	//scanf("%d",&T);
	//printf("time=%.3lf",(double)clock()/CLOCKS_PER_SEC);
	int n;
	while(scanf("%d", &n)==1&&n)
	{
		for(int i=0;i<n;++i)
		{
			getchar();
			cin>>peo[i].na>>peo[i].nu;
		}
		sort(peo, peo+n, cmp);
		int ra=1;
		peo[0].a=ra++; peo[0].b=1;
		for(int i=1;i<n;++i)
		{
			if(peo[i].nu!=peo[i-1].nu)
			{
				peo[i].a=ra++; peo[i].b=1;
			}
			else
			{
				peo[i].a=peo[i-1].a; peo[i].b=peo[i-1].b+1;
				ra++;
			}
		}
		map<string, int> ma;
		for(int i=0;i<n;++i) 
		{
			ma[peo[i].na]=i;
			cout<<peo[i].na<<' '<<peo[i].nu<<endl;
		}

		int tn;
		scanf("%d", &tn); getchar();
		string s;
		for(int i=0;i<n;++i)
		{
			cin>>s; getchar();
			int t = ma[s];
			if(peo[t].b==1) printf("%d\n", peo[t].a);
			else printf("%d %d\n", peo[t].a, peo[t].b);
		}

	}
	return 0;
}


Description

《Shui Hu Zhuan》,also 《Water Margin》was written by Shi Nai'an -- an writer of Yuan and Ming dynasty. 《Shui Hu Zhuan》is one of the Four Great Classical Novels of Chinese literature. It tells a story about 108 outlaws. They came from different backgrounds (including scholars, fishermen, imperial drill instructors etc.), and all of them eventually came to occupy Mout Liang(or Liangshan Marsh) and elected Song Jiang as their leader. 

In order to encourage his military officers, Song Jiang always made a rank list after every battle. In the rank list, all 108 outlaws were ranked by the number of enemies he/she killed in the battle. The more enemies one killed, one's rank is higher. If two outlaws killed the same number of enemies, the one whose name is smaller in alphabet order had higher rank. Now please help Song Jiang to make the rank list and answer some queries based on the rank list.
 

Input

There are no more than 20 test cases. 

For each test case: 

The first line is an integer N (0<N<200), indicating that there are N outlaws. 

Then N lines follow. Each line contains a string S and an integer K(0<K<300), meaning an outlaw's name and the number of enemies he/she had killed. A name consists only letters, and its length is between 1 and 50(inclusive). Every name is unique. 

The next line is an integer M (0<M<200) ,indicating that there are M queries. 

Then M queries follow. Each query is a line containing an outlaw's name. 
The input ends with n = 0
 

Output

For each test case, print the rank list first. For this part in the output ,each line contains an outlaw's name and the number of enemies he killed. 

Then, for each name in the query of the input, print the outlaw's rank. Each outlaw had a major rank and a minor rank. One's major rank is one plus the number of outlaws who killed more enemies than him/her did.One's minor rank is one plus the number of outlaws who killed the same number of enemies as he/she did but whose name is smaller in alphabet order than his/hers. For each query, if the minor rank is 1, then print the major rank only. Or else Print the major rank, blank , and then the minor rank. It's guaranteed that each query has an answer for it.
 

Sample Input

5 WuSong 12 LuZhishen 12 SongJiang 13 LuJunyi 1 HuaRong 15 5 WuSong LuJunyi LuZhishen HuaRong SongJiang 0
 

Sample Output

HuaRong 15 SongJiang 13 LuZhishen 12 WuSong 12 LuJunyi 1 3 2 5 3 1 2
 



内容概要:本文档详细介绍了基于Google Earth Engine (GEE) 构建的阿比让绿地分析仪表盘的设计与实现。首先,定义了研究区域的几何图形并将其可视化。接着,通过云掩膜函数和裁剪操作预处理Sentinel-2遥感影像,筛选出高质量的数据用于后续分析。然后,计算中值图像并提取NDVI(归一化差异植被指数),进而识别绿地及其面积。此外,还实现了多个高级分析功能,如多年变化趋势分析、人口-绿地交叉分析、城市热岛效应分析、生物多样性评估、交通可达性分析、城市扩张分析以及自动生成优化建议等。最后,提供了数据导出、移动端适配和报告生成功能,确保系统的实用性和便捷性。 适合人群:具备一定地理信息系统(GIS)和遥感基础知识的专业人士,如城市规划师、环境科学家、生态学家等。 使用场景及目标:①评估城市绿地分布及其变化趋势;②分析绿地与人口的关系,为城市规划提供依据;③研究城市热岛效应及生物多样性,支持环境保护决策;④评估交通可达性,优化城市交通网络;⑤监测城市扩张情况,辅助土地利用管理。 其他说明:该系统不仅提供了丰富的可视化工具,还集成了多种空间分析方法,能够帮助用户深入理解城市绿地的空间特征及其对环境和社会的影响。同时,系统支持移动端适配,方便随时随地进行分析。用户可以根据实际需求选择不同的分析模块,生成定制化的报告,为城市管理提供科学依据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值