P7001 [NEERC 2013] Fraud Busters
题目描述
在 Default City,每天进入市中心的汽车数量远远超过可用停车位的数量。市议会决定引入停车费,以解决城市街道上溢出的停车问题。停车费通过自动车牌扫描仪来执行,该扫描仪拍摄车辆车牌的照片,识别车牌上的字母和数字序列,并将代码与车辆注册数据库进行比对,以确保停车费已被支付,或者自动向车主开具罚单。
停车费一经引入,停车费欺诈行为就出现了。一些车主开始在停车时用纸片遮住车牌上的一个或几个数字或字母,从而使当前版本的自动扫描仪无法识别其车辆的注册代码,也无法对其开具罚单。
Default City 市议会成立了“欺诈克星计划”(FBI)来设计解决方案以防止此类欺诈行为。FBI 选择的总体方法是扩展扫描仪识别的车辆特征数量(包括车辆类型和颜色等特征),并从列表中排除在该时间被检测到在其他地方的车辆。这些信息有助于通过缩小车辆注册数据库中的搜索范围来识别正确的车辆。
你在为 FBI 工作。你的同事们已经编写了所有复杂的识别软件,这些软件分析各种车辆特征,并为你提供可能属于被扫描车辆的注册代码列表。你的任务是获取这个列表和车牌上识别出的代码(可能部分未识别),并找到所有匹配的注册代码。
输入格式
输入文件的第一行包含扫描仪识别出的代码的 $9$ 个字符。扫描仪识别出的代码表示为 $9$ 个数字、大写英文字母和字符 $`\times`$(星号)的序列。星号表示扫描仪无法识别的数字或字母。
输入文件的第二行包含一个整数 $n (1 \le n \le 1000)$ ——车辆注册数据库中的车辆注册代码数量。
接下来的 $n$ 行包含相应的注册代码,每行一个代码。车辆注册代码表示为 $9$ 个数字和大写英文字母的序列。输入文件中这 $n$ 行的所有代码都是不同的。
输出格式
输出文件的第一行写一个整数 $k (0 \le k \le n)$ ——与扫描仪识别的代码匹配的输入文件中的代码数量。如果代码中所有对应位置的字符相等,或者扫描仪代码中的字符是 $`\times`$,则扫描仪的代码与数据库中的代码匹配。
在接下来的 $k$ 行中,按输入文件中给出的顺序,每行写一个匹配的代码。
说明/提示
时间限制:1 秒,内存限制:128 MB。
题面翻译由 ChatGPT-4o 提供。