主要是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. 面向对象的封装(私有化)及@property(查看)/@setter(修改)!!!

    面向对象有三大特性,继承,多态,封装继承可以减少代码重复量,多态可以用多继承模仿别的语言的建立规则约束子类封装为类的属性/方法的私有化,可以限制别人看,读,修改的权限,目前理解做记录,日后温习,回顾, ...

  2. topcoder srm 565 div1

    problem1 link $f[i][j]$表示经过前$i$个怪物之后,花费$j$个硬币可以得到的最大值. problem2 link 设$nim[i]$表示数字$i$的nim值.那么题目就是求有多 ...

  3. SIP协议简单介绍

    sip协议是由IETF提出的IP电话信令协议,主要目的是为了解决ip网络中的信令控制,以及同软交换通信. sip协议类似http协议: 报文结构: start-line message-header ...

  4. 输出JSON

    <?php header("Content-type: text/html; charset=utf-8"); $host = '数据库IP'; $dbname = '数据库 ...

  5. 微信小程序实现图片裁剪上传(wepy)

    参考https://github.com/we-plugin/we-cropper,在wepy中实现,参考的具体例子是we-cropper/example/cutInside/ 项目上传图片时2:3的 ...

  6. [js] - 前端FileReader使用,适用于文件上传预览.(并未传入后端)

    <body> <div class="box"> <div class="container"> <ul> &l ...

  7. Learning-Python【12】:装饰器

    一.什么是装饰器 器:工具 装饰:为被装饰对象添加新功能 装饰器本身可以是任意可调用的对象,即函数 被装饰的对象也可以是任意可调用的对象,也是函数 目标:写一个函数来为另外一个函数添加新功能 二.为何 ...

  8. wrk 安装使用

    ==================== 安装 ====================https://github.com/wg/wrk/wiki sudo yum -y groupinstall ...

  9. ckeditor5 增加居中alignment

    https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installing-plugins.html 克隆下来 gi ...

  10. 在Altium Designer 10中实现元器件旋转45°角放置

    Tool--->Preferences >> PCB Editor >> General 将Rotation Step(旋转的步进值)由90改为45,这样以后每次按空格键 ...