#P1229. Wild Domains

    ID: 230 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>动态规划字符串处理模式匹配Tehran 2002 Preliminary

Wild Domains

描述

考虑一个知道多个网站的搜索引擎。一个网站由一个格式正确的域名描述,域名由两个或更多的域名部分组成,这些部分由点.(.)分隔,例如 www.sharif.eduwww.sharif.edu。一个域名部分是由大小写字母字符组成的字符串。在本描述中,我们使用“域名”来表示格式正确的域名。

为了将搜索限制在某些特定网站上,用户可以在搜索查询中使用域名模式。域名模式与域名类似,不同之处在于它可以包含以下任意数量的通配符:

  • 星号字符 ()(*),匹配一个或多个由点分隔的域名部分序列,
  • 问号字符 (?)(?),匹配至少一个、最多三个由点分隔的域名部分,
  • 感叹号字符 (!)(!) ,匹配至少三个由点分隔的域名部分。

注意,如果域名模式中出现通配符字符,则它应当与其周围的域名部分(如果有)通过点分隔。例如,www.?.eduwww.?.edu.edu*.edu 都是有效的域名模式,可以匹配域名 www.sharif.eduwww.sharif.edu

如果至少有一个域名可以同时匹配两个域名模式,则认为这两个模式匹配。例如,域名模式 www.?.eduwww.?.edu.edu*.edu 是匹配的,因为它们都可以匹配域名 www.xyz.eduwww.xyz.edu。注意,构造出来的域名可以是任意的(但不一定是一个存在的网站)。你的任务是编写一个程序,给定两个域名模式,判断这两个模式是否匹配。

输入

输入文件的第一行包含一个整数 tt (1<=t<=10)(1 <= t <= 10),表示测试用例的数量,接着是每个测试用例的输入数据。每个测试用例包含两行,每行一个域名模式。每个域名模式的长度最多为255 255 个字符,并且不包含任何前导或尾随空格。

输出

对于每个测试用例,输出一行,包含一个单词YES“YES”NO“NO”,表示这两个域名模式是否匹配。

2
www.?.edu
?.edu
*.edu
yahoo.com
YES
NO

来源

Tehran 2002 Preliminary