洛谷 语言月赛题目 B3911 [语言月赛 202312] 铅球杯

题意

给你n个字符串,每个字符串会代表一个数。
接下来,会有m个句子。
每个句子之中会有 { } \{\} {} 括着的字符串。字符串一定是上面出现过的。要你用数字代替字符串。

思路

我们可以用 m a p map map储存字符串代表的数字。
对于给定的句子,寻找两个括号,取出括号内的字符串,并查 m a p map map替换为数字。

代码

#include<bits/stdc++.h>
#include<cstring>
#include<queue>
#include<set>
#include<stack>
#include<vector>
#include<map>
#define ll long long
using namespace std;
const int N=1e5+10;
const int M=2023;
const int inf=0x3f3f3f3f;
int n,k,pp;
map<string,int> mp; 
string a;
string dfs(int pos,int end)
{
	string x;
	for(int i=pos+1;i<end;i++)
	{
		if(a[i]=='}')
		{
			pos=i;
			pp=i;
			return x;
		}
		x+=a[i];
	}
}
int main()
{
	cin>>n>>k;
	for(int i=1;i<=n;i++)
	{
		string x;
		int y;
		cin>>x>>y;
		mp[x]=y; 
	}
	for(int i=1;i<=k+1;i++)
	{
		getline(cin,a);
		if(i==1)continue;
		for(int j=0;j<a.size();j++)
		{
			if(a[j]=='{')
			{
				cout<<mp[dfs(j,a.size())];
				j=pp;
			}
			if(a[j]!='}')cout<<a[j]; 
			
		} 
		cout<<"\n";
	}
	return 0;
}

AC记录;

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 某田径比赛有m个比赛项目,这意味着该比赛涵盖了多个不同的田径项目,如短跑、跳远、铅球等。 每个比赛项目都有自己的特点和规则。短跑项目注重速度和爆发力,参赛者需要在指定距离内全力冲刺。跳远项目要求选手在起跑点起跳,尽可能远地跳过沙坑到达着陆点。铅球项目要求选手使用特殊的铅球,在指定区域内投掷出去,距离越远越好。 不同的比赛项目适合不同类型的选手。有些选手更擅长速度类项目,因为他们拥有出色的爆发力和快速的身体反应能力。有些选手则更擅长技巧类项目,因为他们具备良好的协调性和准确性。 对于参与者来说,参与多个比赛项目可以帮助他们发展全面的运动能力。通过参与不同的项目,他们可以发现自己的优势和潜力所在,并逐步提高自己的技术和实力。 对于观众来说,多样化的比赛项目可以提供更多的观赏乐趣。他们可以欣赏到不同的运动风格和比赛策略,从而增加他们对田径比赛的兴趣和理解。 总之,一个有m个比赛项目的田径比赛具有多样性和丰富性。它可以满足不同选手的需求和兴趣,并为观众带来更多的惊喜和享受。 ### 回答2: 某田径比赛有m个比赛项目。每个项目都有自己独特的特点和规则。参赛者在比赛前会选择自己擅长的项目进行报名。在比赛中,每个项目都会有其专门的裁判和计时员。裁判负责维持比赛的公正和规范,计时员则负责记录每个参赛者的成绩。 比赛项目种类繁多,包括了各类跑、跳、投以及组合项目。各个项目的难度和技巧要求不尽相同,参赛者需要根据自身的特长和兴趣选择适合自己的项目。个别项目可能需要较高的专业技术和训练,而其他项目则较为普遍。比赛项目的多样性使得每个参赛者都能找到自己感兴趣和擅长的领域,展示自己的才能。 每个项目在赛前都会有一定的报名时间和规定,参赛者需要按时报名才能参加比赛。而且,比赛项目之间可能存在时间上的冲突,参赛者需要根据个人情况做出选择。一旦报名完成,参赛者就需要进行相应的准备工作,包括训练和身体状态的调整。 比赛项目的设置不仅考虑了竞技性,还考虑到了观赏性。各个项目的比赛规则和规程都经过精心设计,以确保比赛的公正和公平,同时也提升了比赛的观赏性。观众可以欣赏到各类运动员在不同项目上的精彩表现,见证运动员们在比赛中付出的努力和汗水。 总而言之,某田径比赛有m个比赛项目,涵盖了各类运动项目,参赛者可以根据自身特长和兴趣选择适合自己的项目参赛。比赛项目的设置既考虑了竞技性,又兼顾了观赏性,为参赛者和观众都提供了一个难忘的体育盛会。 ### 回答3: 某田径比赛有m个比赛项目。 田径比赛是一项多样化的运动,包括跑步、跳高、跳远、投掷等多个项目。每个项目都有其独特的规则和技巧。比如,在跑步项目中,有100米短跑、400米接力等不同的距离和类型可供选择。在跳高和跳远项目中,则需要选手展示自己的弹跳和爆发力。投掷项目涉及到标枪、铅球等不同的器械。 每个比赛项目都有其各自的规则和要求。如短跑项目的比赛,选手需要在起跑时保持良好的爆发力和速度,而在越过起跑线之前,需要时刻注意保持稳定的步频。对于跳高项目来说,选手需要通过切换足部姿势,将身体带起足够高度,同时还需要在越过杆子时保持良好的平衡。在投掷项目中,选手需要通过正确的姿势和力量,将器械投掷到最远的距离。 为了比赛的公正性和安全性,每个项目都有相关的规则和裁判。裁判会监督选手的比赛过程,并根据规则对其进行评分和判罚。在某些项目中,还会包括对选手的药物检测,以确保比赛的公平性。 总之,某田径比赛有m个比赛项目,每个项目都具有独特的规则和技巧。参与者需要通过不断的训练和竞争,积累经验和提高技术水平,才能在比赛中获得好的成绩。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值