这道题不存在递归结构

比如区块之间的相互嵌套 还有"[ [] ]" 链接的相互嵌套, 所以直接处理就好了

还可以

 #include <bits/stdc++.h>
using namespace std;
string trans (string str) {
string tmp; int i=;
while (i<str.size()) {
bool flag=; string txt,link;
while (i<str.size()&&str[i]!='[') tmp+=str[i++];
if (str[i]=='[') { flag=; i++;}
if (flag) {
while (str[i]!=']') txt+=str[i++];
i+=;
while (str[i]!=')') link+=str[i++];
i++;
tmp+="<a href=\""+link+"\">"+txt+"</a>";
}
}
str=tmp; tmp=""; i=;
while (i<str.size()) {
bool flag=; string txt;
while (i<str.size()&&str[i]!='_') tmp+=str[i++];
if (str[i]=='_') {flag=; i++;}
if (flag) {
while (str[i]!='_') txt+=str[i++];
i++;
tmp+="<em>"+txt+"</em>";
}
}
return tmp;
}
void trs2(string str) {
int i=; for (;str[i]==' ';i++);
cout<<"<li>"<<trans(str.substr(i))<<"</li>\n";
}
int main ()
{
string str;
//freopen("test.txt","r",stdin);
while (getline(cin,str)) {
if (str[]=='#') {
int i=,x=;
for (;str[i]=='#';i++) x++;
for (;str[i]==' ';i++);
cout<<"<h"<<x<<">"<<trans(str.substr(i))<<"</h"<<x<<">\n";
}
else if (str[]=='*') {
cout<<"<ul>\n";
trs2(str);
while (getline(cin,str)&&str.size()!=)
trs2(str);
cout<<"</ul>\n";
}
else if (str.size()!=) {
cout<<"<p>"<<trans(str);
while (getline(cin,str)&&str.size()!=)
cout<<"\n"<<trans(str);
cout<<"</p>\n";
}
}
return ;
}

CCF-Markdown-201703-3的更多相关文章

  1. CCF CSP 201703

    CCF CSP 2017·03 做了一段时间的CCF CSP试题,个人感觉是这样分布的 A.B题基本纯暴力可满分 B题留心数据范围 C题是个大模拟,留心即可 D题更倾向于图论?(个人做到的D题基本都是 ...

  2. CCF CSP 201703-3 Markdown

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201703-3 Markdown 问题描述 Markdown 是一种很流行的轻量级标记语言(l ...

  3. CCF 201703-3 Markdown

    问题描述   试题编号: 201703-3 试题名称: Markdown 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 Markdown 是一种很流行的轻量级标记语言(lig ...

  4. 【CCF】 Markdown 模拟

    #include<iostream> #include<cstdio> #include<string> #include<cstring> #incl ...

  5. markdown绘图插件----mermaid简介

    作者:黄永刚 mermaid简介 当撰写文档的时候,对于流程图的生成大多使用Visio等繁重的工具,没有一种轻便的工具能够画图从而简化文档的编写,就像markdown那样. mermaid解决这个痛点 ...

  6. Markdown语法整理

    标题 语法格式:'#'+'空格'+'文本',一共6级 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 斜体 语法格式:1个星号包裹,我 ...

  7. CCF计算机职业资格认证考试题解

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF计算机职业资格认证考试题解 CCF计算机软件能力认证(简称CCF CSP认证)是CCF计算机职业资格认证系 ...

  8. Markdown教程<2> mermaid图形绘制(1)

    Markdown教程<2> mermaid图形绘制(1) 博客园中的markdown编辑器同时支持mermaid图表引擎与tex公式引擎,可以使用mermaid直接画出流程图,时序图,甘特 ...

  9. Markdown插入图表

    链接:https://www.jianshu.com/p/3cf83d22dd3d Markdown图表语法 本文介绍如何用Markdown的mermaid等语法插入时序图.流程图.甘特图 如果是想学 ...

  10. CSDN中Markdown编辑器使用方法

    Markdown编辑器 如果想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识. 新的改变 CSDN中Markdown编辑器进行了一些功能拓展与语法支 ...

随机推荐

  1. opencv学习之路(31)、GrabCut & FloodFill图像分割

    一.GrabCut 1.利用Rect做分割 #include "opencv2/opencv.hpp" using namespace cv; void main() { Mat ...

  2. Java Web获取Web应用根路径

    最基本的 1,request.getRealPath("/");这个方法已不推荐用 2,在Servlet 里用this.getServletContext().getRealPat ...

  3. springboot2.0 最大上传文件大小遇到的错误Failed to bind properties under 'spring.servlet.multipart.max-file-size'

    错误: 解决: 把100Mb改为100MB

  4. nginx LetsEncrypt

    linux certbot https://certbot.eff.org/ windows letsencrypt-win-simple.V1.9.3(个人认为比新版本好用)https://gith ...

  5. python 警惕 IEEE 754标准

    双精度浮点数格式,即IEEE 754标准 >>> 0.1+0.2 0.30000000000000004 >>> (0.1+0.2)==0.3 False > ...

  6. IDEA中更改Tomcat服务器的URL

    先别参考以下的做法,貌似出了点状况,后续修正!!! 直接上图吧 看IDEA的右上角 点击黄色方框内的Edit Configurations,进入以下的编辑面 后面四个框内的都可以修改,当然不要修改和其 ...

  7. legend2---开发日志10(ajax请求的方法是否同样会执行base控制器里面的方法)

    legend2---开发日志10(ajax请求的方法是否同样会执行base控制器里面的方法) 一.总结 一句话总结:会执行的,所以写base控制器里面的方法要注意,base控制器里面的方法要以查数据为 ...

  8. js中字符串和正则相关的方法

    正则表达式对象常用方法 test() 检索字符串中指定的值.返回 true 或 false. var str="Embrace You" var r1=/you/i.test(st ...

  9. 『Python』VS2015编译源码注意事项

    一.2.5.6版本源码编译 解压 Python-2.5.6.tgz 进入 Pcbuild8 文件夹,使用 vs 2013 打开 pybuild.sln (vs 解决方案),进入 vs2015IDE 环 ...

  10. 『TensotFlow』转置卷积

    网上解释 作者:张萌链接:https://www.zhihu.com/question/43609045/answer/120266511来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...