概述
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 #include<cmath> 6 #include<algorithm> 7 #include<queue> 8 #include<map> 9 using namespace std; 10 int n,m; 11 const int maxn=1e2+2; 12 string rule[maxn],value[maxn]; 13 string s,t; 14 int lens,lent; 15 bool legal(){ 16 for(int i=0;i<lent;i++){ 17 if(t[i]>='a'&&t[i]<='z') continue; 18 if(t[i]>='A'&&t[i]<='Z') continue; 19 if(t[i]>='.'||t[i]=='-'&&t[i]=='_') continue; 20 return false; 21 } 22 return true; 23 } 24 bool check(){ 25 lens=s.length(); 26 int i=0,j=0; 27 while(i<lens&&j<lent){ 28 if(s[i]==t[j]){ 29 i++; 30 j++; 31 continue; 32 } 33 if(s[i]!='<') return false; 34 if(s[i+1]=='i'){ 35 i+=5; 36 while(j<lent){ 37 if(t[j]>='0'&&t[j]<='9') j++; 38 else if(t[j]=='/') break; 39 else return false; 40 } 41 }else if(s[i+1]=='s'){ 42 i+=5; 43 while(j<lent){ 44 if(t[j]!='/') j++; 45 else break; 46 } 47 }else if(s[i+1]=='p'){ 48 return true; 49 } 50 } 51 if(i!=lens||j!=lent) return false; 52 return true; 53 } 54 void print(int id){ 55 cout<<value[id]; 56 int i=0,j=0; 57 while(i<lens&&j<lent){ 58 if(s[i]==t[j]){ 59 i++; 60 j++; 61 continue; 62 } 63 if(s[i+1]=='i'){ 64 cout<<" "; 65 i+=5; 66 int flag=1; 67 while(j<lent){ 68 if(t[j]=='/') break; 69 if(flag&&t[j]=='0'){ 70 j++; 71 continue; 72 } 73 cout<<t[j]; 74 flag=0; 75 j++; 76 } 77 }else if(s[i+1]=='s'){ 78 i+=5; 79 cout<<" "; 80 while(j<lent){ 81 if(t[j]=='/') break; 82 cout<<t[j]; 83 j++; 84 } 85 }else if(s[i+1]=='p'){ 86 cout<<" "; 87 while(j<lent){ 88 cout<<t[j]; 89 j++; 90 } 91 } 92 } 93 cout<<endl; 94 } 95 void work(){ 96 lent=t.length(); 97 if(!legal()){ 98 printf("404n"); 99 return; 100 } 101 for(int i=1;i<=n;i++){ 102 s=rule[i]; 103 if(check()){ 104 print(i); 105 return; 106 } 107 } 108 printf("404n"); 109 return; 110 } 111 int main(){ 112 while(~scanf("%d%d",&n,&m)){ 113 for(int i=1;i<=n;i++){ 114 cin>>rule[i]>>value[i]; 115 } 116 for(int i=1;i<=m;i++){ 117 cin>>t; 118 work(); 119 } 120 } 121 return 0; 122 }
转载于:https://www.cnblogs.com/itcsl/p/9203579.html
最后
以上就是害怕麦片为你收集整理的【CCF】URL映射 模拟的全部内容,希望文章能够帮你解决【CCF】URL映射 模拟所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复