#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. pytho线程信号量

    pytho线程信号量 import threading,time def going(num,sleep_time): semaphore.acquire()#启动允许执行 print("g ...

  2. vue2.0中ckeckbox(复选框)的使用心得,及对click事件和change的理解

    最近在公司项目中使用vue2.0做开发,在使用checkbox时遇到了一些问题,首先我们先了解一下需求. 如上如所示,在上方复选框被点击时,更改下方p标签的文本内容为:复选框已被选中.并将p标签文字颜 ...

  3. LOJ#6342. 跳一跳(期望)

    题意 $n \leqslant 10^5$ Sol 随便推一推就好了吧.. $f[i] = \frac{f[i] + f[i +1] + \dots f[n]}{n - i + 1} + 1$ 移一下 ...

  4. NOIP2018 全国热身赛 第二场 (不开放)

    NOIP2018 全国热身赛 第二场 (不开放) 题目链接:http://noi.ac/contest/26/problem/60 一道蛮有趣的题目. 然后比赛傻逼了. 即将做出来的时候去做别的题了. ...

  5. PHP switch问题

    $a = 0; switch($a){ case $a > 7: echo 234; break; case $a > 2: echo 4556; break; default: echo ...

  6. windows下CMD命令大全(仅供参考)

    CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本.文件系统版本)chcp 修改默认字符集chcp 936默认中文chcp 650011. appwiz.c ...

  7. Python入门基础--变量与基本数据类型

    变量 什么是变量 变量就是变化的量,变就是变化,量用于衡量描述对象的状态 为什么要有变量 程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序 ...

  8. django之路由分发

    路由分发决定哪一个路由由哪一个视图函数来处理. 注意:django2.0里的re_path和django1.0里的url除了名字不一样,其他都一样. 简单配置 from django.urls imp ...

  9. CodeForces:#448 div2 a Pizza Separation

    传送门:http://codeforces.com/contest/895/problem/A A. Pizza Separation time limit per test1 second memo ...

  10. vim编辑器最简单使用方法

    i 输入模式 :q 不保存退出 :q! 强制退出 :wq 保存退出 j 下 k 上 h 左 l 右 gg start G end x 往后删 X 往前删 yy 复制行 p 粘贴 dd 剪切行 u 撤销 ...