序号 | 标题 | 作者 | 发表时间 | 费用 | 订购数 | 操作 |
---|
额外的文件输入 C/C++: freopen("/JudgeOnline/image/Pro_Pic/1146/font.in","r",stdin); PASCAL: assign(input,"/JudgeOnline/image/Pro_Pic/1146/font.in"); 请注意!用完之后及时关闭 否则你会像我一样悲剧!!! 这个问题需要你写一个程序完成字符识别的任务。 每个完整的字符图案有 20 行,20 位。每个位是“0”或“1”。图 1a 对应着输入文件中的符号图案。 文件front包括了27个字符图案的信息,以这样的顺序记录: _abcdefghijklmnopqrstuvwxyz 其中 _ 表示空格字符。每个完整字符长 20 行。 输入文件包含一个或多个可能损坏的字符图案。一个字符图案可能以这些方式被损坏。 最多有一行被可能被复制了(就接在原来那一行的下面) 最多有一行可能丢失了 有些“0”可能被改成“1” 有些“1”可能被改成“0” 不会有任何一个字符图案既多余了一行并且又丢失了一行。在测试数据的任何一个字符图案中,“0”和“1”的被改变率不超过 30%。 被复制的那一行中,原来的行和多余的行可能都损坏了,而且损坏的部分可能并不相同。 写一个程序,使用 font.in 提供的字体,在输入文件提供的图象中识别出一个或多个的字符序列。 使用提供的字体图象来识别字符的时候,要找出最佳的多余行或遗漏行,使找出的所有“0”和“1”的变化数量最小。在所有可能的多余行中,只按损坏数据最少的那一行计算。你必须确定和输入序列最接近的字符序列(就是损坏数据最少的那一个)。每个测试数据有唯一的最优解。 正确的解答必须使用到输入文件中的所有数据。