codeforce_exercise_r18

2023-12-31 10:40
文章标签 exercise codeforce r18

本文主要是介绍codeforce_exercise_r18,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

    • 模板生成系统(csp201509-3) :
      • 问题描述
          • 题目简述
          • 输入/输出格式
          • 样例
      • 问题分析
          • 解题思路
          • 参考代码
      • 心得体会

模板生成系统(csp201509-3) :

问题描述

题目简述

太长了,就不复制了,大意就是将模板中的变量部分替换为目标值。

输入/输出格式

输入格式:
输入的第一行包含两个整数 m, n,分别表示模板的行数和模板生成时给出的变量个数。
接下来 m 行,每行是一个字符串,表示模板。
接下来 n 行,每行表示一个变量和它的值,中间用一个空格分隔。值是字符串,用双引号 (") 括起来,内容可包含除双引号以外的任意可打印 ASCII 字符(ASCII 码范围 32, 33, 35-126)。
输出格式:
输出包含若干行,表示模板生成的结果。

样例

输入样例:
在这里插入图片描述

输出样例:
在这里插入图片描述

问题分析

解题思路

这个题总体来说考的是string类。总体上就是找对应子串,并将其替换的过程,而每一个可能需要替换的子串都用“{{ ”和“ }}”标记了,因此,找到这两个标志也就确定了需要替换的子串的位置。由于变量和值是一一对应的关系,因此,使用map存储最为方便。

参考代码
#include <iostream>
#include <string>
#include <map>
#include <vector>using namespace std;int m,n;
map<string,string> mp;
string str,key,value;
vector<string> v;int main()
{cin>>m>>n;getchar();for(int i=1;i<=m;i++){getline(cin,str);v.push_back(str);}for(int i=1;i<=n;i++){cin>>key;getline(cin,value);mp[key]=value.substr(2,value.length()-3);}for(int i=0;i<v.size();i++){int front,ed;front=0;while(1){front=v[i].find("{{ ",front);if(front==-1) break;ed=v[i].find(" }}",front);if(ed==-1) break;string t_key=v[i].substr(front+3,ed-front-3);v[i].replace(front,ed-front+3,mp[t_key]);front+=mp[t_key].length();}cout<<v[i]<<endl;}return 0;
}

心得体会

实际上不算很难,但是由于对string类的函数用的不多,因此做的时候感觉比较费劲。看来是时候来整理一下string类的相关知识了。

这篇关于codeforce_exercise_r18的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/555800

相关文章

Computer Exercise

每日一练 单选题 在计算机机箱前面板接口插针上(     C   )表示复位开关。 A.SPK    B.PWRLED    C.RESET    D.HDDLED每台PC机最多可接(     B   )块IDE硬盘。 A.2    B.4    C.6    D.8(     B   )拓扑结构由连接成封闭回路的网络结点组成的,每一结点与它左右相邻的结点连接。 A.总线型    B

3GPP R18 NTN中的skipping TN measurement(NR SIB25有什么用?)

R18 38.300中对NTN-TN mobility进行了增强,如下黄色字体: 对于NTN-TN mobility,网络可以在SIB25中广播关于NR TN和EUTRA TN覆盖区域的小区信息。 Earth-Fixed、Quasi-Earth-fixed和Earth-Moving cells都支持此功能。覆盖信息会包含在地理TN areas list中,还会指示相关的频率信息。

codeforce 9C(Hexadecimal's Numbers)

来   看谁的代码短 C. Hexadecimal's Numbers time limit per test 1 second memory limit per test 64 megabytes input standard input output standard output One beautiful July morning

codeforce 7C 拓展欧几里得 详解

比如说  ax+by=gcd(a,b) 假设  excgcd(int a,int  b,int&x,int&y)是求解这个方程的函数 其返回值是gcd(a,b)(ps: a和b的最大公因子) 假设我们已经求得了b*x1+(a%b)*y1=gcd(a,b); x1 ,y1即为其解 又有  a%b=a-(a/b)*b; 带入得 a*y1+b*(x1-(a/b))=gcd(a,b); 而

Codeforce 963

CF 963 B 模拟加贪心 偶数个数C 模拟+前缀和 灯能否全亮D 二分+DP 中位数尽可能大F1 模拟+镜像 题目链接 B 模拟加贪心 偶数个数 考点:贪心 思路:除了全是偶数的情况,其他的情况都需要将偶数转换为奇数。最少的操作步数是偶数个数,如果有一步操作执行之前最小的偶数都比最大的奇数大,则操作步数要加1,即最后结果是偶数个数+1. 代码1: t = int(

Codeforce 214 Div 2 B.Hometask

题目描述: Description Furik loves math lessons very much, so he doesn't attend them, unlike Rubik. But now Furik wants to get a good mark for math. For that Ms. Ivanova, his math teacher, gave him a

Exercise 10

Exercise 10 Exercise10 VR has this 1 unique ability to really take you there and that's sort of something I've been trying to do in traditional still images and 2 documentary film.虚拟现实(VR)有能让你真正身临其境

codeforce

http://codeforces.com/problemset/submit 学号  杭电密码

CodeForce #429 DIV2 A B C题解

A:http://codeforces.com/contest/841/problem/A 题意:n个气球分给k个人,是否有这样的解:每个人手里的气球都颜色不重复 思路:个数最多的颜色个球的个数 >k, 就必然有人手里两个球 #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>usin

2024.5.26.python.exercise

# # 导入包# from pyecharts.charts import Bar, Timeline# from pyecharts.options import LabelOpts, TitleOpts# from pyecharts.globals import ThemeType## # 从文件中读取信息# GDP_file = open("1960-2019全球GDP数据.c