主要是string---STL的运用

趁机整理一下erase, find, substr, replace, insert

#include <bits/stdc++.h>
using namespace std;
int main ()
{
string str="",tmp;
// erase (起始位置,长度)
tmp=str; tmp.erase(,); cout<<tmp<<endl; //
tmp=str; tmp.erase(); cout<<tmp<<endl; // 012
// find (要寻找的字符,起始位置) 没有找到是-1
int x=str.find("",); cout<<x<<endl; //
x=str.find(""); cout<<x<<endl; // -1
// insert (起始位置,字符串)
tmp=str; tmp.insert(,"abc"); cout<<tmp<<endl; // 01abc23456789
// replace (起始位置,长度,替换的字符串)
tmp=str; tmp.replace(,,"abc"); cout<<tmp<<endl; // 0123abc789
// substr (起始位置,长度)
tmp=str; string s1=tmp.substr(,); cout<<s1<<endl; //
tmp=str; s1=tmp.substr(); cout<<s1<<endl; //
return ;
}
 #include <bits/stdc++.h>
using namespace std;
const int N=;
string str[N];
map <string,string> mapp;
int main ()
{
int m,n; cin>>m>>n; getchar();
for (int i=;i<m;i++)
getline(cin,str[i]);
for (int i=;i<n;i++) {
string s1,s2;
cin>>s1; getline(cin,s2);
s2=s2.substr(,s2.size()-);
mapp[s1]=s2;
}
for (int i=;i<m;i++) {
string s=str[i];
string tmp; int j=;
while (j<s.size()) {
int _s=s.find("{{ ",j);
int _e=s.find(" }}",_s);
if (_s!=-&&_e!=-) {
int len=_e-_s-;
string txt=s.substr(_s+,len);
txt=mapp[txt];
s.replace(_s,_e+-_s,txt);
j=_s+txt.size(); // j=_e+3; 字符串替换后 长度也发生了变化
}
else break;
}
cout<<s<<"\n";
}
return ;
}

CCF-模板生成系统-201509-3的更多相关文章

  1. CCF系列之模板生成系统( 201509-3 )

    试题名称: 模板生成系统 试题编号: 201509-3 时间限制: 1.0s 内存限制: 256.0MB 问题描述 成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的 ...

  2. CCF CSP 201509-3 模板生成系统

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201509-3 模板生成系统 问题描述 成成最近在搭建一个网站,其中一些页面的部分内容来自数据 ...

  3. CCF真题之模板生成系统

    问题描述 成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的.例如,对于展示用户信息的页面,当用户为 Tom 时,网页的源代码是 而当用户为 Jerr ...

  4. CCF 201509-3 模板生成系统 (STL+模拟)

    问题描述 成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的.例如,对于展示用户信息的页面,当用户为 Tom 时,网页的源代码是 而当用户为 Jerr ...

  5. ccf模板生成

    问题描述 成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的.例如,对于展示用户信息的页面,当用户为 Tom 时,网页的源代码是 而当用户为 Jerr ...

  6. [csp-201509-3]模板生成系统

    #include<bits/stdc++.h> using namespace std; ; string a[N],b[N],c[N]; int main() { //freopen(& ...

  7. CCF-CSP题解 201509-3 模板生成系统

    简单的替换一下字符串. 注意数组开大点. #include<bits/stdc++.h> const int maxm = 100; const int maxn = 100; using ...

  8. CCF_ 201509-3_模板生成系统

    又是一道考验细心和耐心的题,不知道哪里出问题了,一直只有90分 = =! #include<cstdio> #include<iostream> #include<cst ...

  9. CCF 201509-3 模版生成系统

    试题编号: 201509-3 试题名称: 模板生成系统 时间限制: 1.0s 内存限制: 256.0MB 问题描述 成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的 ...

  10. ccf--20150903--模板生成系统

    本题思路:首先,使用一个map来存储所有需要替换的关键词,然后,再逐行的替换掉其中的关键词,记住,find每次的其实位置不一样,否则会出现递归生成没有出现关键词就清空掉.最后输出. 题目和代码如下: ...

随机推荐

  1. 剑指offer(47)求1+2+3+...+n

    题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 题目分析 不能用乘除也就不能用公示了,并且不能 ...

  2. Echarts整合spring boot进行开发

    一.开始前的准备 Echarts官网下载: https://echarts.baidu.com/download.html

  3. linux基础之grep

    grep: Global search REgular expression and Print out the line 作用: 文本搜索工具,根据用户指定的模式对目标文本逐行进行匹配检查,打印匹配 ...

  4. C# Array 基本数据类型数组的基类 传参问题

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  5. 《温故而知新》JAVA基础六

    多态(父子类之间) 对象的多种形态 引用多态 父类的引用可以指向本类对象 父类的引用可以指向子类的对象 方法的多态 创建本类对象时候,调用的方法是本类方法 创建子类对象时候,调用的方法为子类重写的方法 ...

  6. flink入门

    wordCount POM文件需要导入的依赖: <dependency> <groupId>org.apache.flink</groupId> <artif ...

  7. html缓存控制

  8. Android app图标总是显示默认的机器人图标,且在manifest文件的application中修改无效...

    问题描述:我使用的开发工具是eclipse,Android app默认的图标是一个机器人,如下图所示 现在我要将app的图标修改成另外一个图标: 探索过程: 首先想到修改Manifest文件中的app ...

  9. js基本类型存放和对象存放的区别(对象遍历)

    js的基本类型,对象类型的应用在初学的时候,需要自己加以明确,明确了数据类型,在使用过程中才能正确使用变量.如下两个例子是摘自初学时的笔记,为大家提供参考. 1.对象可以存放属性和方法,js基本类型不 ...

  10. 在Eclipse下搭建Hibernate框架(加载hibernate工具插件,离线)

    下载hibernate工具包完成之后,对其进行解压可以得到众多文件夹,其中就有一个jbosstools-hibernate开头的文件夹,进入其中可以得到features和plugins两个文件夹,在E ...