CCF-Markdown-201703-3
这道题不存在递归结构
比如区块之间的相互嵌套 还有"[ [] ]" 链接的相互嵌套, 所以直接处理就好了
还可以
#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的更多相关文章
- CCF CSP 201703
CCF CSP 2017·03 做了一段时间的CCF CSP试题,个人感觉是这样分布的 A.B题基本纯暴力可满分 B题留心数据范围 C题是个大模拟,留心即可 D题更倾向于图论?(个人做到的D题基本都是 ...
- CCF CSP 201703-3 Markdown
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201703-3 Markdown 问题描述 Markdown 是一种很流行的轻量级标记语言(l ...
- CCF 201703-3 Markdown
问题描述 试题编号: 201703-3 试题名称: Markdown 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 Markdown 是一种很流行的轻量级标记语言(lig ...
- 【CCF】 Markdown 模拟
#include<iostream> #include<cstdio> #include<string> #include<cstring> #incl ...
- markdown绘图插件----mermaid简介
作者:黄永刚 mermaid简介 当撰写文档的时候,对于流程图的生成大多使用Visio等繁重的工具,没有一种轻便的工具能够画图从而简化文档的编写,就像markdown那样. mermaid解决这个痛点 ...
- Markdown语法整理
标题 语法格式:'#'+'空格'+'文本',一共6级 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 斜体 语法格式:1个星号包裹,我 ...
- CCF计算机职业资格认证考试题解
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF计算机职业资格认证考试题解 CCF计算机软件能力认证(简称CCF CSP认证)是CCF计算机职业资格认证系 ...
- Markdown教程<2> mermaid图形绘制(1)
Markdown教程<2> mermaid图形绘制(1) 博客园中的markdown编辑器同时支持mermaid图表引擎与tex公式引擎,可以使用mermaid直接画出流程图,时序图,甘特 ...
- Markdown插入图表
链接:https://www.jianshu.com/p/3cf83d22dd3d Markdown图表语法 本文介绍如何用Markdown的mermaid等语法插入时序图.流程图.甘特图 如果是想学 ...
- CSDN中Markdown编辑器使用方法
Markdown编辑器 如果想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识. 新的改变 CSDN中Markdown编辑器进行了一些功能拓展与语法支 ...
随机推荐
- 在数据库级别还是在service层进行级联删除
在数据库配置级联删除的话,父表删除子表也删除.但是应该将维护代码放在一处,不要在service上删除父表,而在数据库层面级联删除子表,应该都在service层上进行删除.
- GEC6818交叉开发环境搭建拟稿
为manjaro linux配置交叉工具链 为gec6818开发版下载一个arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 ...
- 微信小程序wepy开发,属性绑定的事件参数中可以使用{{}}写实参
<view wx:for="{{tablist}}" class="item {{activeid === item.id ? 'active':''}}" ...
- 阿里技术专家详解Dubbo实践,演进及未来规划
https://mp.weixin.qq.com/s/9rVGHYfeE8yM2qkSVd2yEQ
- LINQ之路15:LINQ Operators之元素运算符、集合方法、量词方法
本篇继续LINQ Operators的介绍,包括元素运算符/Element Operators.集合方法/Aggregation.量词/Quantifiers Methods.元素运算符从一个sequ ...
- NodeJS:(一)特性&环境&测试
特性: ①非阻塞I/O,事件驱动,单线程 非阻塞I/O:进程不等I/O完成(阻塞是等I/O完成后才进行下一步) 事件驱动:异步操作结束后通知 ②优点 前端职责范围变大,统一开发体验 处理高并发(单位时 ...
- Hnoi-2017 滚粗记
一路走来,OI生涯中最重要的一场比赛在10个小时的比赛后,在不止10个小时的焦急等待中,也就这么结束了呢... Day 0: 当时其实内心里面还是比较虚的,还记得在回家的路上和$DYC$大佬畅想我们省 ...
- CSS实现输入框宽度随内容自适应效果
有时候我们会遇到如下需求:输入框的宽度随内容长度自适应,当输入框宽度增大到一定值时,里边的内容自动隐藏. 面对这种需求,我们首先想到的是使用input元素标签,但是发现input标签的宽度默认设定的是 ...
- please select android sdk(出现小红叉)
问题原因: 在项目中通过 git 协同开发,项目是 kotlin 与 Java 混合开发.在 build.gradle 中添加依赖之后就出现这个问题了,点击运行无法编译. 在网上找了各种解决办法都没能 ...
- 【转】 RGB各种格式
转自:https://blog.csdn.net/LG1259156776/article/details/52006457?locationNum=10&fps=1 RGB组合格式 名字 ...