转载自 https://blog.csdn.net/tigerisland45/article/details/81697594

/* CCF201803-3 URL映射 */

#include <iostream>
#include <ctype.h> using namespace std; const int N = ;
string p[N], r[N], s; bool match(string& s, string& t, bool flag)
{
int lent = t.size();
int lens = s.size();
int ps = , pt = ;
while(ps < lens && pt < lent) {
if(t[pt] == s[ps]) {
ps++, pt++;
} else {
// 匹配<xxx>
if(t[pt++] != '<')
return false;
if(flag)
cout << ' '; if(t[pt] == 'i') {
// 匹配<int>
bool ok = false;
while(s[ps] && isdigit(s[ps])) {
if(s[ps] != '')//去掉前导零
ok = true;
if(flag && ok)
cout << s[ps];
ps++;
}
if(!ok)
return false;
pt += ;
} else if(t[pt] == 's') {
// 匹配<str>
bool ok = false;
while(s[ps] && s[ps] != '/') {
ok = true;
if(flag)
cout << s[ps];
ps++;
}
if(!ok)
return false;
pt += ;
} else if(t[pt] == 'p') {//如果合法的话,<path>一定已经是最后一个了
// 匹配<path>
if(flag)
while(s[ps])
cout << s[ps++];
return true;
}
}
} return pt == lent && ps == lens;
} int main()
{
int n, m;
cin >> n >> m;
for(int i = ; i < n; i++)
cin >> p[i] >> r[i]; for(int i = ; i < m; i++) {
cin >> s; bool flag = true;
for(int j = ; flag && j < n; j++)
if(match(s, p[j], false)) {//用了两次match,true的时候会输出
flag = false;
cout << r[j];
match(s, p[j], true);
} if(flag)
cout << "";
cout << endl;
} return ;
}

CCF CSP 201803-3 URL映射的更多相关文章

  1. CCF 201803-3 URL映射

    CCF 201803-3  URL映射 试题编号: 201803-3 试题名称: URL映射 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 URL 映射是诸如 Django. ...

  2. url映射 ccf (Java正则表达式80分解法)

    问题描述 试题编号: 201803-3 试题名称: URL映射 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 URL 映射是诸如 Django.Ruby on Rails 等 ...

  3. CCF(URL映射:80分):字符串处理+模拟

    URL映射 CCF201803-3 #include<iostream> #include<cstdio> #include<cstring> #include&l ...

  4. CCF CSP 201612-3 权限查询

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201612-3 权限查询 问题描述 授权 (authorization) 是各类业务系统不可缺 ...

  5. CCF CSP/CCSP报名费优惠的方法以及常见疑问

    目录 1. 本文地址 2. 认证作用 2.1. 高校认可 2.2. 赛事认可 2.3. 企业认可 3. 报名费价格及获取优惠的方法 3.1. CCF CSP 3.2. CCF CCSP 4. 语言与I ...

  6. ASP.NET MVC 5 Web编程2 -- URL映射(路由原理)

    本章将讲述ASP.NET MVC5 的路由原理,即URL映射机制. 简单点就是解释:为什么MVC在浏览器输入地址就能访问到类(或类中的方法)?这是怎么做到的?我自己可以通过.NET写出一个自己的MVC ...

  7. urlMappings与URL映射

    此配置节的作用就是往Web程序中添加URL的映射,从而达到用户访问映射后的URL(如/Page/AAA)也能访问到源URL(如/Page/PageAAA.aspx)的效果.这也是URL映射本来的作用. ...

  8. django中“url映射规则”和“服务端响应顺序”

    1.django搜索路径 使用 import 语句时,Python 所查找的系统目录清单.      查看方式:         import sys        print sys.path   ...

  9. MVC 5 Web编程2 -- URL映射

    ASP.NET MVC 5 Web编程2 -- URL映射(路由原理) 2015-02-12 08:50 by hangwei, 704 阅读, 5 评论, 收藏, 编辑 本章将讲述ASP.NET M ...

随机推荐

  1. springboot 使用Filter

    1. 创建 Filter 类,实现 Filter 接口 import javax.servlet.*; import javax.servlet.annotation.WebFilter; impor ...

  2. Linux 下各文件夹的含义

    /bin 该目录中存放Linux的常用命令./boot 该目录默认下存放的是Linux的启动文件和内核./cdrom 该目录在刚安装系统时是空的,你可以将光驱文件系统挂在这个目录下./dev 该目录包 ...

  3. Mongoose 'static' methods vs. 'instance' methods

    statics are the methods defined on the Model. methods are defined on the document (instance). We may ...

  4. idea 的一些基本的配置

    1. 2. 3. http://139.199.89.239:1008/88414687-3b91-4286-89ba-2dc813b107ce 531403098@qq.com R+0oOAb3rx ...

  5. zzw原创_非root安装fastDFS

    zzw原创_非root安装fastDFS fastDFS 想要非root安装,没找到资料,分析了一下安装脚本,原来作者是留了安装路径的,但没有放出来. 1.解包 [bdc@svr001 setup]$ ...

  6. Docker私有仓库实例

    C:\Users\think\.m2\settings.xml文件配置: <?xml version="1.0" encoding="UTF-8"?> ...

  7. GDAL——命令使用专题——gdalsrsinfo命令

    GDAL——命令使用专题——gdalsrsinfo命令  前言 GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库. ...

  8. vue-calendar 基于 vue 2.0 开发的轻量,高性能日历组件

    vue-calendar-component 基于 vue 2.0 开发的轻量,高性能日历组件 占用内存小,性能好,样式好看,可扩展性强 原生 js 开发,没引入第三方库 Why Github 上很多 ...

  9. Tensorflow计算加速

    在tensorflow里可以通过tf.device函数来指定每个运行的设备,可以是GPU也可以是CPU,比如CPU在tensorflow里的名称为/cpu:0,即便电脑里有多个CPU,tensorfl ...

  10. 文件属性和ls -lhi

    第1章 无法上网及拍错过程 远程连接拍错过程 1.         查看路是否通畅 2.         是否有拦击 iptables(防火墙) selinux 3.         查看是否有条件 ...