#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<queue>
#include<map>
using namespace std;
int n,m;
const int maxn=1e2+;
string rule[maxn],value[maxn];
string s,t;
int lens,lent;
bool legal(){
for(int i=;i<lent;i++){
if(t[i]>='a'&&t[i]<='z') continue;
if(t[i]>='A'&&t[i]<='Z') continue;
if(t[i]>='.'||t[i]=='-'&&t[i]=='_') continue;
return false;
}
return true;
}
bool check(){
lens=s.length();
int i=,j=;
while(i<lens&&j<lent){
if(s[i]==t[j]){
i++;
j++;
continue;
}
if(s[i]!='<') return false;
if(s[i+]=='i'){
i+=;
while(j<lent){
if(t[j]>=''&&t[j]<='') j++;
else if(t[j]=='/') break;
else return false;
}
}else if(s[i+]=='s'){
i+=;
while(j<lent){
if(t[j]!='/') j++;
else break;
}
}else if(s[i+]=='p'){
return true;
}
}
if(i!=lens||j!=lent) return false;
return true;
}
void print(int id){
cout<<value[id];
int i=,j=;
while(i<lens&&j<lent){
if(s[i]==t[j]){
i++;
j++;
continue;
}
if(s[i+]=='i'){
cout<<" ";
i+=;
int flag=;
while(j<lent){
if(t[j]=='/') break;
if(flag&&t[j]==''){
j++;
continue;
}
cout<<t[j];
flag=;
j++;
}
}else if(s[i+]=='s'){
i+=;
cout<<" ";
while(j<lent){
if(t[j]=='/') break;
cout<<t[j];
j++;
}
}else if(s[i+]=='p'){
cout<<" ";
while(j<lent){
cout<<t[j];
j++;
}
}
}
cout<<endl;
}
void work(){
lent=t.length();
if(!legal()){
printf("404\n");
return;
}
for(int i=;i<=n;i++){
s=rule[i];
if(check()){
print(i);
return;
}
}
printf("404\n");
return;
}
int main(){
while(~scanf("%d%d",&n,&m)){
for(int i=;i<=n;i++){
cin>>rule[i]>>value[i];
}
for(int i=;i<=m;i++){
cin>>t;
work();
}
}
return ;
}

【CCF】URL映射 模拟的更多相关文章

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

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

  2. 2-字符串模拟- URL映射

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

  3. CCF 201803-3 URL映射

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

  4. CCF CSP 201803-3 URL映射

    转载自 https://blog.csdn.net/tigerisland45/article/details/81697594 /* CCF201803-3 URL映射 */ #include &l ...

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

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

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

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

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

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

  8. urlMappings与URL映射

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

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

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

随机推荐

  1. SCSI add-single-device and remove-single-device

    众所周知,SATA和SCSI是支持热插拔的,但是新装了这类支持热插拔的驱动器,系统不会马上识别的,往往我们需要重启系统来识别,但是有另外一种方法可以很方面的让系统识别新的设备. 作为系统管理员,需要了 ...

  2. 运维自动化之Cobbler系统安装详解

    原文链接 参考文档 参考文档SA们现在都知道运维自动化的重要性,尤其是对于在服务器数量按几百台.几千台增加的公司而言,单单是装系统,如果不通过自动化来完成,根本是不可想象的. 运维自动化安装方面,早期 ...

  3. AngularJS 历经实例

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  4. vue 自定义动态弹框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. BZOJ2287: 【POJ Challenge】消失之物(背包dp)

    题意 ftiasch 有 N 个物品, 体积分别是 W1, W2, ..., WN. 由于她的疏忽, 第 i 个物品丢失了. “要使用剩下的 N - 1 物品装满容积为 x 的背包,有几种方法呢?” ...

  6. 爬虫学习(五)——使用handler管理器对象进行数据爬取的步骤

    # 使用管理器对象进行爬取数据的步骤 import urllib.requesturl = "https://www.baidu.com/"# 创建handler的管理器对象han ...

  7. 一、Shell 教程

    Shell 教程 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个 ...

  8. 五、MySQL 创建数据库

    MySQL 创建数据库 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程,数据名为 ...

  9. Swiper.js手动滑动之后,不再自动滑动问题

    var swiper = new Swiper('.swiper-container', {        pagination: '.swiper-pagination',        autop ...

  10. Entrez Direct

    安装 cd ~/bin/bashperl -MNet::FTP -e \'$ftp = new Net::FTP("ftp.ncbi.nlm.nih.gov", Passive = ...