Pro.ID2033 Title正则表达式匹配问题 Title链接http://10.20.2.8/oj/exercise/problem?problem_id=2033 AC0 Submit1 Ratio0.00% 时间&空间限制描述许多操作系统采用正则表达式实现文件匹配功能。一种简单的正则表达式由英文字母、数字及通配符"*"和"?"组成。"?"代表任意一个字符。"*"则可以代表任意多个字符。现要用正则表达式对部分文件进行操作。 试设计一个算法,找出一个正则表达式,使其能匹配的待操作文件最多,但不能匹配任何不进行操作的文件。所找出的正则表达式的长度还应是最短的。 输入输入由n(1 ≤ n ≤ 250)行组成。每行给出一个文件名。文件名由英文字母和数字组成。英文字符要区分大小写,文件名长度不超过8个字符。文件名后是一个空格符和一个字符"+"或"-"。"+"表示要对该行给出的文件进行操作,"-"表示不进行操作。 输出Description 许多操作系统采用正则表达式实现文件匹配功能。一种简单的正则表达式由英文字母、数字及通配符"*"和"?"组成。"?"代表任意一个字符。"*"则可以代表任意多个字符。现要用正则表达式对部分文件进行操作。 试设计一个算法,找出一个正则表达式,使其能匹配的待操作文件最多,但不能匹配任何不进行操作的文件。所找出的正则表达式的长度还应是最短的。 Input 输入由n(1 ≤ n ≤ 250)行组成。每行给出一个文件名。文件名由英文字母和数字组成。英文字符要区分大小写,文件名长度不超过8个字符。文件名后是一个空格符和一个字符"+"或"-"。"+"表示要对该行给出的文件进行操作,"-"表示不进行操作。 Output 输出最多文件匹配数和最优正则表达式。第一行是计算出的最多文件匹配数,第二行是最优正则表达式。 Sample Input EXCHANGE + Sample Output 3 Author 样例输入EXCHANGE + 样例输出3 提示作者 |