文本处理题,题意阐述有点歧义,不是很清楚,能满分是一下一下试出来的,所以代码很乱
匹配时除非出现了<path>,否则元素个数和结尾的'/'都必须相同,否则就算做不匹配
且<path>不能匹配空串
知道了这些再按题意一步一步来就可以满分了
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
const int N=200+10;
struct url
{
int l;
bool f;
string s[N];
string ret;
}a[N],b;
bool pipei(url a,url b)
{
if(a.l>b.l||(a.f!=b.f||a.l<b.l)&&(!a.l||a.s[a.l-1]!="<path>")) return false;
//特判一下
string can[N];
int cnt=0;
for(int i=0;i<a.l&&i<b.l;i++)
{
if(a.s[i]=="<str>")
{
can[cnt++]=b.s[i];
continue;
}
if(a.s[i]=="<int>")
{
for(int j