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编辑器进行了一些功能拓展与语法支 ...
随机推荐
- Bugku-CTF之输入密码查看flag
Day14 输入密码查看flag http://123.206.87.240:8002/baopo/
- Java基础学习-常用的dos命令
打开控制台(win+R,然后cmd回车) 常用命令: d:回车 盘符切换 dir(directory):列出当前目录下的文件以及文件夹 cd( ...
- [linux] grep 文本搜索工具
grep [option] pattern file Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.grep全称是Global Regular ...
- STS的安装与简单使用
一,STS下载与安装 1.下载地址:http://spring.io/tools3/sts/all 2.选择对应版本安装或者解压 二,STS简单使用 1.快捷方法 (1)main+alt+/+回车 = ...
- AJAX缓存清理
Ajax页面缓存是ajax处理数据时对一些重复相同数据进行一个缓存操作,这样从另一个层面对于我们来讲是非常的不错了,但有时我们并不希望它缓存要如何处理呢?下面我们一起来看看关于页面缓存问题分析与解决, ...
- OC的反射机制
反射机制主要是指程序可以访问.检测和修改它本身状态或行为的一种能力.反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法.对于人一个对象,都能够调用这个对象的任意方法和属性.这种 ...
- 获取动态代理生成的.class文件
生成代理类,并写入硬盘:配置系统属性sun.misc.ProxyGenerator.saveGeneratedFile为true,代理类生成时将自动将生成的代理类写入硬盘 ? 1 2 3 4 5 6 ...
- inline-block间隙问题总结, ,style一个样式后面 多加了一个 分号; 导致 样式失效
1--- 样式最后的{}后面, 不能有分号 ; 2---- display:inline-block 后, 元素间会有间隙 原因: 由换行或者回车导致的. 解决一: 只要把标签写成一行或者标签 ...
- 【Mysql】Mysql Json类型或Text类型可以建索引吗?
一.JSON类型 答案是不可以 为Json类型建索引会报错 mysql)); ERROR (): JSON column 'card_pay_data' cannot be used in key s ...
- 【警告】WARN: Establishing SSL connection without server's identity verification is not recommended.
1.Java访问Mysql时出现如下警告: 2019-04-02 10:30:50.545 INFO 1290 --- [nio-8080-exec-1] com.zaxxer.hikari.Hika ...