#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. ASP.NET各种技巧

    1.动态添加文件框 前台页面关键部分: <script type="text/javascript"> //添加一个选项 function AddFileCtrol() ...

  2. 关于请求时状态为cancel

    项目中发现有一个问题,在我发送某些请求的时候请求一会状态就变为cancel了,我滴个乖乖,这是咋回事,被取消了,后来经过仔细排查后发现了以下两个问题 1.AJAX和form表单同时使用,(form提交 ...

  3. highcharts与ajax的应用

    整理一份完整的例子,以供参考: <1>页面chart.html: <span style="font-size:14px;"><!DOCTYPE HT ...

  4. node操作mogondb数据库的封装

    注:摘自网络 上面的注释都挺详细的,我使用到了nodejs的插件mongoose,用mongoose操作mongodb其实蛮方便的. 关于mongoose的安装就是 npm install -g mo ...

  5. Android Studio 3.0 安装注意点

    在安装Android studio 3.0+ 时候,会遇到默认不带Android SDK 的问题. 在启动Android studio 后,会提示让选择SDK目录,选择下载目录,对应的去下载 那么问题 ...

  6. Visual Studio的下载安装

    下载地址: 下载Visual Studio Code https://code.visualstudio.com/ 安装扩展包 安装图标 View->Extensions 搜索Icon 安装Ma ...

  7. python函数调用顺序、高阶函数、嵌套函数、闭包详解

    一:函数调用顺序:其他高级语言类似,Python 不允许在函数未声明之前,对其进行引用或者调用错误示范: def foo(): print 'in the foo' bar() foo() 报错: i ...

  8. 必须使用member initialization list来初始化的情况

    // member initialization #include <iostream> using namespace std; class Circle { double radius ...

  9. 华东交通大学2018年ACM“双基”程序设计竞赛 D

      摸鱼之王MIKU酱想去埃及玩,需要一个人陪同.小新和小磊都想陪MIKU酱一起去,但名额只有一个.所以小磊和小新决定用一个小游戏来决定谁和MIKU酱出去玩.    游戏的道具是21张塔罗牌,塔罗牌分 ...

  10. sql:where中多种状况简便写法

    字段名:Bran,block,are ,store 四个字段中存在值等于0或者不等于0,两种情况.where中如果用if等条件判断会有16中组合,如果采用where中的条件就避免了这个情况. decl ...