r18

目录问题分析心得体会
模板生成系统(-3) : 问题描述 题目简述
太长了,就不复制了,大意就是将模板中的变量部分替换为目标值 。
输入/输出格式
输入格式:
输入的第一行包含两个整数 m, n,分别表示模板的行数和模板生成时给出的变量个数 。
接下来 m 行,每行是一个字符串 , 表示模板 。

r18

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

文章插图
问题分析 解题思路
这个题总体来说考的是类 。总体上就是找对应子串,并将其替换的过程,而每一个可能需要替换的子串都用“{{ ”和“ }}”标记了,因此,找到这两个标志也就确定了需要替换的子串的位置 。由于变量和值是一一对应的关系,因此,使用map存储最为方便 。
参考代码
#include #include #include #include using namespace std;int m,n;map,string> mp;string str,key,value;vector> 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
心得体会
【r18】实际上不算很难 , 但是由于对类的函数用的不多 , 因此做的时候感觉比较费劲 。看来是时候来整理一下类的相关知识了 。