第十三次CCF CSP认证(2018年3月)真题URL映射

2023-05-16

问题描述
  URL 映射是诸如 Django、Ruby on Rails 等网页框架 (web frameworks) 的一个重要组件。对于从浏览器发来的 HTTP 请求,URL 映射模块会解析请求中的 URL 地址,并将其分派给相应的处理代码。现在,请你来实现一个简单的 URL 映射功能。
  本题中 URL 映射功能的配置由若干条 URL 映射规则组成。当一个请求到达时,URL 映射功能会将请求中的 URL 地址按照配置的先后顺序逐一与这些规则进行匹配。当遇到第一条完全匹配的规则时,匹配成功,得到匹配的规则以及匹配的参数。若不能匹配任何一条规则,则匹配失败。
  本题输入的 URL 地址是以斜杠 / 作为分隔符的路径,保证以斜杠开头。其他合法字符还包括大小写英文字母、阿拉伯数字、减号 -、下划线 _ 和小数点 .。例如,/person/123/ 是一个合法的 URL 地址,而 /person/123? 则不合法(存在不合法的字符问号 ?)。另外,英文字母区分大小写,因此 /case/ 和 /CAse/ 是不同的 URL 地址。
  对于 URL 映射规则,同样是以斜杠开始。除了可以是正常的 URL 地址外,还可以包含参数,有以下 3 种:
  字符串 :用于匹配一段字符串,注意字符串里不能包含斜杠。例如,abcde0123。
  整数 :用于匹配一个不带符号的整数,全部由阿拉伯数字组成。例如,01234。
  路径 :用于匹配一段字符串,字符串可以包含斜杠。例如,abcd/0123/。
  以上 3 种参数都必须匹配非空的字符串。简便起见,题目规定规则中 和 前面一定是斜杠,后面要么是斜杠,要么是规则的结束(也就是该参数是规则的最后一部分)。而 的前面一定是斜杠,后面一定是规则的结束。无论是 URL 地址还是规则,都不会出现连续的斜杠。
输入格式
  输入第一行是两个正整数 n 和 m,分别表示 URL 映射的规则条数和待处理的 URL 地址个数,中间用一个空格字符分隔。
  第 2 行至第 n+1 行按匹配的先后顺序描述 URL 映射规则的配置信息。第 i+1 行包含两个字符串 pi 和 ri,其中 pi 表示 URL 匹配的规则,ri 表示这条 URL 匹配的名字。两个字符串都非空,且不包含空格字符,两者中间用一个空格字符分隔。
  第 n+2 行至第 n+m+1 行描述待处理的 URL 地址。第 n+1+i 行包含一个字符串 qi,表示待处理的 URL 地址,字符串中不包含空格字符。
输出格式
  输入共 m 行,第 i 行表示 qi 的匹配结果。如果匹配成功,设匹配了规则 pj ,则输出对应的 rj。同时,如果规则中有参数,则在同一行内依次输出匹配后的参数。注意整数参数输出时要把前导零去掉。相邻两项之间用一个空格字符分隔。如果匹配失败,则输出 404。
样例输入
5 4
/articles/2003/ special_case_2003
/articles// year_archive
/articles/// month_archive
/articles article_detail
/static/ static_serve
/articles/2004/
/articles/1985/09/aloha/
/articles/hello/
/static/js/jquery.js
样例输出
year_archive 2004
article_detail 1985 9 aloha
404
static_serve js/jquery.js
样例说明
  对于第 1 个地址 /articles/2004/,无法匹配第 1 条规则,可以匹配第 2 条规则,参数为 2004。
  对于第 2 个地址 /articles/1985/09/aloha/,只能匹配第 4 条规则,参数依次为 1985、9(已经去掉前导零)和 aloha。
  对于第 3 个地址 /articles/hello/,无法匹配任何一条规则。
  对于第 4 个地址 /static/js/jquery.js,可以匹配最后一条规则,参数为 js/jquery.js。
数据规模和约定
  1 ≤ n ≤ 100,1 ≤ m ≤ 100。
  所有输入行的长度不超过 100 个字符(不包含换行符)。
  保证输入的规则都是合法的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第十三次CCF CSP认证(2018年3月)真题URL映射 的相关文章

  • NLTK在python中文字所表达的情感预测

    NLTK是python环境下NLP工具包 xff0c 包含了丰富的文本处理和文本挖掘API 自然语言处理是计算机科学领域与人工智能领域中的一个重要方向 自然语言工具箱 xff08 NLTK xff0c Natural Language To
  • Python实现Windows电脑定时关机

    定时关机 xff0c 功能 xff1a windows下 xff0c 用户按照一定格式输入关机时间 xff0c 系统到指定时间自动关闭 思路 xff1a 从用户输入获取指定时间 分别以时分秒减去当前时间 最终计算得到当前时间距离指定 时间还
  • Python利用结巴模块统计《水浒传》词频

    中文分词是中文文本处理的一个基础性工作 xff0c 结巴分词利用进行中文分词 其基本实现原理有三点 xff1a 基于Trie树结构实现高效的词图扫描 xff0c 生成句子中汉字所有可能成词情况所构成的有向无环图 xff08 DAG 采用了动
  • Python支持向量机(SVM)实例

    SVM Support Vector Machine 指的是支持向量机 xff0c 是常见的一种判别方法 在机器学习领域 xff0c 是一个有监督的学习模型 xff0c 通常用来进行模式识别 分类以及回归分析 Matlab中有林智仁编写的l
  • Sci-Hub

    Sci Hub是一个线上数据库 xff0c 其上提供62 000 000篇科学学术论文和文章 网站透过 edu 代理服务器访问相关页面 xff0c 每天会上传新的论文文章 2011年 xff0c 哈萨克研究生亚历珊卓 艾尔巴金因为研究论文成
  • 30个谷歌开源项目

    更多内容访问omegaxyz com 1机器学习系统 TensorFlow TensorFlow 是谷歌的第二代机器学习系统 xff0c 据谷歌说 xff0c 在某些基准测试中 xff0c TensorFlow 的表现比第一代的 DistB
  • MATLAB粒子群优化算法实现(PSO)

    PSO xff08 PSO Particle Swarm Optimization xff09 xff08 基于种群的随机优化技术算法 xff09 粒子群算法模仿昆虫 兽群 鸟群和鱼群等的群集行为 xff0c 这些群体按照一种合作的方式寻找
  • NSGA2 算法Matlab实现

    为了能随时了解Matlab主要操作及思想 故本文贴上NSGA 算法Matlab实现 xff08 测试函数为ZDT1 xff09 更多内容访问omegaxyz com NSGA 就是在第一代非支配排序遗传算法的基础上改进而来 xff0c 其改
  • NSGA2算法MATLAB

    NSGA2算法MATLAB实现 xff08 能够自定义优化函数 xff09 以前写了一个简单的NSGA2的算法能够用在ZDT1函数上 xff1a http www omegaxyz com 2017 05 04 nsga2matlabzdt
  • 编程语言编年史

    编程语言有上千种 xff0c 但是流行的不过10来种 xff0c 那些我们经常使用的编程语言都是谁在什么时候创造出来的呢 xff1f 1800年 Joseph Marie Jacquard教会了一台织布机读穿孔卡片 xff0c 制造出了第一
  • Java的密钥库jks文件放在/src/main/resources目录下报错的解决办法

    Java的密钥库jks文件放在 src main resources目录下 到了编译的时候 就会自动增长变大 导致java读取keystore文件异常 爆出 java io IOException Invalid keystore form
  • Python模拟电脑按键

    按键精灵是一个很好的Windows按键模拟器 xff0c 下面用python简单地实现所需要的功能 下面提供两种方式 xff0c 第一种一种是简单模拟 发的是虚拟消息给程序的消息队列 但是有些软件比如360和一些游戏大部分都是直接和硬件通信
  • 区块链技术认识整理

    区块链技术 腾讯视频讲解 xff1a https v qq com x page a03569ty8mu html 搜狐漫画 xff1a http www sohu com a 162764647 673573 CSDN区块链技术概念及基础
  • MATLAB中SVM(支持向量机)的用法

    LIBSVM是台湾大学林智仁 Lin Chih Jen 教授等开发设计的一个简单 易于使用和快速有效的SVM模式识别与回归的软件包 xff0c 他不但提供了编译好的可在Windows系列系统的执行文件 xff0c 还提供了源代码 xff0c
  • Python在指定文件夹生成随机文件

    有时我们需要生成一些写有随机字符串的txt文件进行测试 xff0c 这里我们采用生成随机字符串的形式来创建并命名文件 xff0c 然后再在txt文件中生成随机的字符串作为内容写入到文件里面 整个过程很简单 xff0c 但是可以作为一个模板在
  • Python字符串加密

    base64 Base64是一种用64个字符来表示任意二进制数据的方法 用记事本打开exe jpg pdf这些文件时 xff0c 我们都会看到一大堆乱码 xff0c 因为二进制文件包含很多无法显示和打印的字符 xff0c 所以 xff0c
  • Python文章归档

    下面是最新的Python文章目录导航 Python基础面向对象语句函数文件正则表达式Python GUI 程序Python模块Python机器学习Python爬虫与Python相关的 内容更新至2018年1月22日 Python基础 xff
  • 7个优秀的境外程序员博客

    如果你想成为程序员 xff0c 你需要沉浸在编程文化中 如果你仍然是一个学生 xff0c 这是更真实的 编程领域非常广泛 xff0c 吸收了太多的信息 xff0c 如果你远距离参与 xff0c 你永远不会出现在最前面 幸运的是 xff0c
  • k-means算法概述

    优点与缺点 K means算法思想 K MEANS算法是输入聚类个数k xff0c 以及包含 n个数据对象的数据库 xff0c 输出满足方差最小标准k个聚类的一种算法 k means 算法接受输入量 k xff1b 然后将n个数据对象划分为
  • MATLAB随机数生成器

    1 rand 生成 0 1 区间上均匀分布的随机数 基本语法 xff1a rand M N P 生成排列成M N P 多维向量的随机数 如果只写M xff0c 则生成M M矩阵 xff1b 如果参数为 M N 可以省略方括号 2 randn

随机推荐

  • Python弹球游戏(tkinter模块编写)

    python弹球游戏 xff0c 能够选择难度和分数控制 程序利用tkinter模块编写 xff08 说到这里吐槽一下tkinter模块 xff0c 虽然tkinter是python自带的模块 xff0c 但是编写手感真没有wxpython
  • SSH登录时提示Read from socket failed: Connection reset by peer.

    首先查看日志 tail f var log auth log 添加参数 v 获得更详细的连接信息 ssh user 64 computerB v 1 如果是 rsa and dsa keys 丢失产生的问题 可以通过下面的方式进行修复 ss
  • Python密码存储器

    xff08 不使用数据库 xff09 设计一个密码记录及查询小软件 xff0c 模拟记录自己在各个网站上所使用的账号及密码 xff0c 保存在文件中 要求自行设计存储方式 xff0c 并实现浏览 xff0c 查询 xff0c 增加 xff0
  • Python英文搜索引擎(模糊搜索)

    假设在C Record下面有若干个 txt文件 xff0c 均为纯英文文档 以这些文档为内容 xff0c 实现一个本地搜索引擎 xff0c 当用户给出某个输入时 xff0c 列出相关的搜索结果 可以自行决定改搜索引擎的功能强弱 xff0c
  • wxpython记录生词GUI程序

    不使用数据库 实现一个简单的记生词软件 xff0c 基本功能包括 xff0c 添加新的生词及其中文含义 xff0c 浏览已经记录的单词 xff0c 随机选择部分单词进行复习 可考虑其它拓展的功能 这里使用wxpython的基本操作 xff0
  • 数据结构电视大赛投票系统

    电视大赛观众投票及排名系统的设计与实现 8学时 问题描述 xff1a 在很多的电视大赛中 xff0c 通常当选手表演结束后 xff0c 现场观众通过手中的按键对参赛选手进行投票 xff0c 然后对选手获得的票数进行统计 xff0c 从高到低
  • 监督学习与无监督学习

    机器学习如果按照训练样本标签的有无可以分为以下两种常用方法 有监督学习 supervised learning 和无监督学习 unsupervised learning 以机器学习中的分类 classification 来说 xff0c 输
  • Python授权码生成器(密码生成器)

    有时候我们需要为自己的产品设置一些使用权限 xff0c 这就需要随机授权码生成器 当然这是简单的随机生成器 xff0c 像Adobe这种授权码是需要一定的加密算法生成 xff0c 然后再验证授权码是否正确 xff0c 而不是简单的生成 本文
  • C语言赌博机掷骰子

    一个C语言写的小游戏 赌博机 xff0c 适合学习C语言的人学习借鉴 A C language to write a small game gambling machines suitable for learning C language
  • Linux基本命令

    由于参加了机器人社团 xff0c 涉足了Linux的知识 xff0c 今天开始写第一篇关于Linux的文章 Linux简介 xff08 百度百科 xff09 xff1a https baike baidu com item linux 27
  • 如何正确给锂电池充电

    刚给手机换了新电池 xff0c 发现很多人在手机和电脑充电方面存在着误区 xff0c 比如下面这个流言 流言 xff1a 新买的手机必须充满8小时以上并重复几次完全充电放电 xff0c 这个过程叫做激活 xff0c 这样可以使手机的电池达到
  • Python代码刷博客访问量

    寒假闲着无聊自习研究了一下Python爬虫与代理 就发现了一个很简单的刷博客访问量的技巧 首先 xff0c 我们设置一个代理池 xff0c 可以用数据库导入也可以简单的用一个数组 代理池可以从http www xicidaili com 选
  • eclipse svn 分支合并到主干

    首先需厘清SVN的分支以下几个概念 xff1a trunk 主干 可以理解为开发环境的代码 xff0c 平常做开发的工作目录 branches xff1a 从主干拷贝了一份代码重新在svn服务器上的建了个分支目录 通常叫branch xff
  • Python GUI程序整理

    文章目录 GUI程序 Python课程设计Windows系统资源探测器 Python密码存储器 wxpython简单记录生词GUI程序 python微博爬虫GUI程序 Python刷访问量GUI程序 Python弹球游戏 xff08 tki
  • 基于词典的社交媒体内容的情感分析(Python实现)

    之前写了一篇基于NLTK情感预测的文章http www omegaxyz com 2017 12 15 nltk emotion hilite 61 27NLTK 27b 更多内容访问omegaxyz com 情感词典是从微博 新闻 论坛等
  • 在Linux(Ubuntu)下编写编译C语言

    大家都知道在Windows中运行C语言很简单 xff0c 打开一个IDE xff08 VS或者codeblocks xff09 编写代码 xff0c 点击一个按钮就能运行了 在Linux中 xff0c 大家不怎么习惯用IDE xff0c 更
  • 提高C++运行效率的方法

    一 尽量减少值传递 xff0c 多用引用来传递参数 至于其中的原因 xff0c 相信大家也很清楚 xff0c 如果参数是int等语言自定义的类型可能能性能的影响还不是很大 xff0c 但是如果参数是一个类的对象 xff0c 那么其效率问题就
  • 第十三次CCF CSP认证(2018年3月)真题跳一跳

    跳一跳 问题描述 近来 xff0c 跳一跳这款小游戏风靡全国 xff0c 受到不少玩家的喜爱 简化后的跳一跳规则如下 xff1a 玩家每次从当前方块跳到下一个方块 xff0c 如果没有跳到下一个方块上则游戏结束 如果跳到了方块上 xff0c
  • 第十三次CCFCSP认证(2018年3月)真题碰撞的小球

    问题描述 数轴上有一条长度为L xff08 L为偶数 的线段 xff0c 左端点在原点 xff0c 右端点在坐标L处 有n个不计体积的小球在线段上 xff0c 开始时所有的小球都处在偶数坐标上 xff0c 速度方向向右 xff0c 速度大小
  • 第十三次CCF CSP认证(2018年3月)真题URL映射

    问题描述 URL 映射是诸如 Django Ruby on Rails 等网页框架 web frameworks 的一个重要组件 对于从浏览器发来的 HTTP 请求 xff0c URL 映射模块会解析请求中的 URL 地址 xff0c 并将