主要是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. Query the tables and index which will caus rebuild index fail

    On MSSQL server database, while rebuild index failed, we can use the follow sql statement to see if ...

  2. 经典排序js实现

    https://www.cnblogs.com/onepixel/articles/7674659.html

  3. es6 class的基本语法

    ES5以及之前的版本,没有类的概念,但是聪明的JavaScript开发者,为了实现面向对象,创建了特殊的近类结构. ES5中创建类的方法:新建一个构造函数,定义一个方法并且赋值给构造函数的原型. 'u ...

  4. ubuntu18.04中python虚拟环境的安装

    一:下载虚拟环境安装包 sudo apt install virtualenv sudo apt install virtualenvwrapper pwd  查看当前目录 ls -all 查看是否有 ...

  5. android ------ RecyclerView 模仿淘宝购物车

    电商项目中常常有购物车这个功能,做个很多项目了,都有不同的界面,选了一个来讲一下. RecyclerView 模仿淘宝购物车功能(删除选择商品,商品计算,选择, 全选反选,商品数量加减等) 看看效果图 ...

  6. laravel StartSession中间件的实现原理

    1. 打开app\Http\Kernel.php,找到StartSession的位置.这里要说一下,middleware中的中间件是都会被执行的,但执行的顺序我不知道,还需看源码来实现 protect ...

  7. jQuery中防止表单提交两次的方法

    遇到过表单提交两次的情况,做个记录: 解决场景:首先是表单验证,其次是防止多次提交表单: jQuery中插件:validate_submitHandler_plugin,具体的可以使用关键字搜索: 使 ...

  8. Python 多进程进程池Queue进程通信

    from multiprocessing import Pool,Manager import time def hanshu(queue,a): n = 1 while n<50: # pri ...

  9. Matlab:高阶常微分三种边界条件的特殊解法(中心差分法,高精度导数边界处理)

    函数文件1: function b=F(f,x0,h,N) % b(1,1)=x0(1)-h*x0(2)-u(1); % b(2,1)=x0(2)+h*x0(1)^2-u(2)-h*f; b=zero ...

  10. Hive介绍及安装

    Hive介绍及安装 介绍: Hive是基于Hadoop的数据仓库解决方案.由于Hadoop本身在数据存储和计算方面有很好的可扩展性和高容错性,因此使用Hive构建的数据仓库也秉承了这些特性. 简单来说 ...