CCF 认证
题意:字符串替换
string+map的应用
- #include<iostream>
- #include<stdio.h>
- #include<stdlib.h>
- #include<memory.h>
- #include<string.h>
- #include<algorithm>
- #include<cmath>
- #include<map>
- #define clc(a,b) memset(a,b,sizeof(a))
- typedef long double ld;
- typedef long long ll;
- const int N = ;
- const double eps=1e-;
- const int inf=-;
- const int maxn=1e5+;
- const double Pi=acos(-);
- using namespace std;
- int main()
- {
- string s[];
- string s1,s2,s3,s4;
- int n,m;
- int j1[],j2[],k1;
- cin>>n>>m;
- getchar();
- for(int i=; i<n; i++)
- getline(cin,s[i]);
- map<string,string>v;
- for(int j=; j<m; j++)
- {
- cin>>s1;
- getchar();
- getline(cin,s2);
- s1.insert(,"{{ ");
- s1=s1+" }}";
- s2.erase(,);
- s2.erase(s2.end()-,s2.end());
- v[s1]=s2;
- }
- for(int i=; i<n; i++)
- {
- k1=;
- clc(j1,-);
- clc(j2,-);
- for(int j=; s[i][j]!=; j++)
- {
- if(s[i][j]=='{'&&s[i][j+]=='{')
- j1[k1]=j;
- if(s[i][j]=='}'&&s[i][j+]=='}')
- j2[k1]=j+;
- if(j1[k1]!=-&&j2[k1]!=-)
- k1++;
- }
- int t=;
- for(int j=; j<k1; j++)
- {
- s3="";
- for(int k=j1[j]+t; k<=j2[j]+t; k++)
- s3.insert(s3.end(),s[i][k]);
- if(v.count(s3))
- {
- s[i].replace(s[i].begin()+j1[j]+t,s[i].begin()+j2[j]++t,v[s3]);
- t=t+v[s3].size()-s3.size();
- }
- else
- {
- s[i].replace(s[i].begin()+j1[j]+t,s[i].begin()+j2[j]++t,"");
- t=t-s3.size();
- }
- }
- cout<<s[i]<<endl;
- }
- return ;
- }
CCF 认证的更多相关文章
- CCF认证历年试题
CCF认证历年试题 不加索引整理会死星人orz 第一题: CCF201712-1 最小差值(100分) CCF201709-1 打酱油(100分) CCF201703-1 分蛋糕(100分) CCF2 ...
- 小明种苹果(续)第十七次CCF认证
小明种苹果(续)第十七次CCF认证 题目 原题链接 ](http://118.190.20.162/view.page?gpid=T93) 很高心,在现在CCF CSP可以下载自己当时的答卷了,也就是 ...
- CCF认证(1)
#include <iostream> #include <windows.h> using namespace std; typedef struct letter{ int ...
- CCF 认证4
题意:求强联通分量 Tarjan算法 #include<iostream> #include<stdio.h> #include<stdlib.h> #includ ...
- CCF认证考试——折点计数
描述:简单题 #include<iostream> using namespace std; int main() { ], n, count = ; cin >> n; ; ...
- CCF认证之——相反数
这道题目非常简单! #include<iostream> using namespace std; int main() { ],n,count=; cin >> n; ; i ...
- ccf认证 201709-4 通信网络 java实现
试题编号: 201709-4 试题名称: 通信网络 时间限制: 1.0s 内 ...
- ccf认证模拟题之三---最大的矩形
问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi.这n个矩形构成了一个直方图.例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3 ...
- CCF认证201712-2游戏
问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向. 游戏开始,从1号小朋 ...
随机推荐
- google protobuf 使用示例
定义.proto接口文件 package tutorial; message Person { required ; required int32 id = ; //unique ID number ...
- [模拟]ZOJ3480 Duck Typing
题意:给了一坨...按题目意思输出就好了... 给一组案例 begin class d class c:d class b:c class a:b def d.m def d.n call a.m e ...
- iOS开发--使用RSA加密
在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于 ...
- Python字符串编码问题
编码问题:Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了. ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节.字母A用ASC ...
- 概率图模型之有向图与无向图之间的关系 I map D map perfect map(完美图) 概念
我们已经讨论了有向图和无向图框架下的概率模型,那么我们有必要讨论一下它们二者的关系.
- STM32硬件复位时间
两个参数,,1低电平时间 2低电平压值 1.stm32复位时间 ------ 低电平时间:1.5 至 4.5 ms 2.压值
- 【HDOJ】1914 The Stable Marriage Problem
稳定婚姻问题,Gale-Shapley算法可解. /* 1914 */ #include <iostream> #include <sstream> #include < ...
- Complete The Pattern #1
Complete The Pattern #1 Task: You have to write a function pattern which creates the following patte ...
- Android开发框架之xUtils学习
1.一个非作者弄的xUtils API文档: http://xutilsapi.oschina.mopaas.com/overview-summary.html 2.使用xUtils用户的一些博客文档 ...
- html5自带表单验证-美化改造
神奇的代码 暂且叫做html5.css /* === HTML5 validation styles === */ .myform select:required, .myform input:req ...