CCF CSP 201803-3 URL映射
转载自 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映射的更多相关文章
- CCF 201803-3 URL映射
CCF 201803-3 URL映射 试题编号: 201803-3 试题名称: URL映射 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 URL 映射是诸如 Django. ...
- url映射 ccf (Java正则表达式80分解法)
问题描述 试题编号: 201803-3 试题名称: URL映射 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 URL 映射是诸如 Django.Ruby on Rails 等 ...
- CCF(URL映射:80分):字符串处理+模拟
URL映射 CCF201803-3 #include<iostream> #include<cstdio> #include<cstring> #include&l ...
- CCF CSP 201612-3 权限查询
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201612-3 权限查询 问题描述 授权 (authorization) 是各类业务系统不可缺 ...
- CCF CSP/CCSP报名费优惠的方法以及常见疑问
目录 1. 本文地址 2. 认证作用 2.1. 高校认可 2.2. 赛事认可 2.3. 企业认可 3. 报名费价格及获取优惠的方法 3.1. CCF CSP 3.2. CCF CCSP 4. 语言与I ...
- ASP.NET MVC 5 Web编程2 -- URL映射(路由原理)
本章将讲述ASP.NET MVC5 的路由原理,即URL映射机制. 简单点就是解释:为什么MVC在浏览器输入地址就能访问到类(或类中的方法)?这是怎么做到的?我自己可以通过.NET写出一个自己的MVC ...
- urlMappings与URL映射
此配置节的作用就是往Web程序中添加URL的映射,从而达到用户访问映射后的URL(如/Page/AAA)也能访问到源URL(如/Page/PageAAA.aspx)的效果.这也是URL映射本来的作用. ...
- django中“url映射规则”和“服务端响应顺序”
1.django搜索路径 使用 import 语句时,Python 所查找的系统目录清单. 查看方式: import sys print sys.path ...
- MVC 5 Web编程2 -- URL映射
ASP.NET MVC 5 Web编程2 -- URL映射(路由原理) 2015-02-12 08:50 by hangwei, 704 阅读, 5 评论, 收藏, 编辑 本章将讲述ASP.NET M ...
随机推荐
- Django中ORM介绍和字段及字段参数
Object Relational Mapping(ORM) 1 ORM介绍 1.1 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对 ...
- input表单验证
1.屏蔽输入法(只是不能输入中文还可以输入特殊字符)<input style="ime-mode:disabled" onkeydown="if(event.key ...
- Table 类(数据表基类)
只修改数据表某条记录的部分字段(究极进化): public class TableHelper { private Dictionary<string, object> temp; pub ...
- centos 7安装python 3
linux-Centos7安装python3并与python2共存 1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的 ...
- dva.js 上手
来源:https://pengtikui.cn/dva.js-get-started/ ——------------------------------------------------------ ...
- iOS 底层解析weak的实现原理(包含weak对象的初始化,引用,释放的分析)
原文 很少有人知道weak表其实是一个hash(哈希)表,Key是所指对象的地址,Value是weak指针的地址数组.更多人的人只是知道weak是弱引用,所引用对象的计数器不会加一,并在引用对象被释放 ...
- maven将依赖的jar包复制到指定位置
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...
- CouchDB客户端开发—Java版
在Fedora上安装CouchDB: yum update yum install couchdb 修改/etc/couchdb下local.ini文件: port = 5984bind_addres ...
- Fortran与C/C++混合编程示例
以下例子均来自网络,只是稍作了编辑,方便今后查阅. 子目录 (一) Fortran调用C语言 (二) C语言调用Fortran (三) C++ 调用Fortran (四) Fortran 调用 C++ ...
- mysql排序之ORDER BY IF、ORDER BY配合IN、TIMESTAMPDIFF、TIMESTAMPADD、FIELD
1.order by if 排序 SELECT * FROM pet ORDER BY if (species='snake',0,1),species;--species为snake的行数放置到了查 ...