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编辑器进行了一些功能拓展与语法支 ...
随机推荐
- Learning-MySQL【3】:数据类型和运算符
一.数据类型 1.数值类型 为每张表的每个字段选择合适的数据类型是数据库设计过程中一个重要的步骤. 数字分为整数和小数.其中整数用整数类型表示,小数用浮点数类型和定点数类型表示. 浮点数类型包括单精度 ...
- PSR4规范
定义类名规则: 完全限定类名必须有一个顶级命名空间(Vendor Name): 完全限定类名可以有多个子命名空间: 完全限定类名应该有一个终止类名: 下划线在完全限定类名中是没有特殊含义的: 字母在完 ...
- vue的环境配置
在vue越来越火的情况下,本人也开始加入到大军当中. 首先,列举下我们需要的东西: node.js 环境(npm包管理器) vue-cli 脚手架构建工具 cnpm npm的淘宝镜像 安装node.j ...
- java 保存到mysql数据库中文乱码
<property name="jdbcUrl">jdbc:mysql://localhost:3306/company?useUnicode=true&cha ...
- js实现千位分隔
最近一个项目中使用到了千位分隔这个功能,在网上也看见一些例子,但是实现起来总觉有些复杂.因此,自己实现了一个千位分隔,留给后来的我们. 先上源码吧. 该方法支持传入的是一个数字字符串,数字.第二个参数 ...
- 字体转换网站——Font Squirrel
转载自:http://www.5imoban.net/jiaocheng/CSS3_HTML5/2016/0714/1735.html html5之前,只要稍微特殊点的字体,都必须做成图片,以免客户端 ...
- DAY14 函数(三)
一.三元表达式 三元运算符:就是if...else...的语法糖但是只支持只有一条if...else...语句的判断 原: cmd = input('cmd:') if cmd.isdigit(): ...
- docker-compose控制启动顺序
用官方方案https://docs.docker.com/compose/startup-order/ 下载wait-for-it.sh https://github.com/vishnubob/wa ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 扩展行显示细节
数据网格(datagrid)可以改变它的视图(view)来显示不同的效果.使用详细视图,数据网格(datagrid)可以在数据行的左边显示展开按钮("+" 或者 "-&q ...
- codeforces 343d
题意:一棵树结构上有水,往一个节点加水,那么所有的子节点都会有水,或者排干一个节点的水,那么它的上面的节点都会没水. 用dfs序,数组记录区间内全部有水为1,区间内有没水的点就为0. 倒水:区间更新, ...