• 转:字符识别


    字符识别 (IOI'97)

    问题描述 这个题目需要你编写一个字符识别程序。

    具体内容

    每一个假设的字符图像(字符点阵)有20行,每行有20个"0"或"1"的数字。

    FONT.DAT文件中有27个按照下列顺序排列的字符图像:

    □abcdefghijklmnopqrstuvwxyz

    □在这里表示空格符。

    文件IMAGE.DAT包含有一个或者多个被破损的字符图像,一个字符图形可能通过以下几种途径被破损:

    • 至多有一行被复制(复制的行紧接其后)
    • 至多有一行丢失
    • 有些"0"可能变成"1"
    • 有些"1"可能变成"0"

    字符图像不会同时有一行被复制而同时又丢失一行,在测试数据中,任何一个字符图像弄反"0"和"1"的比例不超过30%。

    在行被复制的情况中,复制行和被复制行都可能破损,但破损的情形可能是不同的。

    任务

    用FONT.DAT提供的字体对IMAGE.DAT文件中的一个或者多个字符序列进行识别。

    在一种自己最满意的有关"行"被复制或丢失的假设下,根据实际字符图像和标准字符图像的比较,以"0"和"1"发生错误的总数越少越好为条件来识别给定的字符图像,题中所给的样例字符图像都会被一个好的程序所识别,对于一个被测数据组,有一个唯一的最佳解。

    正确解应该准确使用由输入文件IMAGE.DAT所提供的所有行数。

    输入

    两个输入文件都由整数N(19≤N≤1200)开始,该整数指出下面的行数。

    N
    (digit1)(digit2)(digit3) … (digit20)
    (digit1)(digit2)(digit3) … (digit20)

    每一行的数据都有20个码,码和码之间没有空格。

    文件FONT.DAT描述字体。FONT.DAT总是包含541行。每次FONT.DAT都可能是不同的。

    输出

    你的程序必须生成一个IMAGE.OUT文件。它应该包含一串识别出的字符。它的格式是一行ASCII码。输出结果不应含有任何分隔符,如果你的程序识别不出一个字符,则在相应的位置显示"?"。

    警告:上述输出格式不遵守在规则中规定的在输出的结果中留出空格的规定。

    计分:根据正确识别出的字符的比例确定所得分数。

    示例输入

    Incomplete sample showing the beginning of FONT.DAT (space and 'a').  Sample IMAGE.DAT, showing an 'a' corrupted 
    FONT.DAT  IMAGE.DAT 
    540
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000011100000000000 
    00000111111011000000 
    00001111111001100000 
    00001110001100100000 
    00001100001100010000 
    00001100000100010000 
    00000100000100010000 
    00000010000000110000 
    00000001000001110000 
    00001111111111110000 
    00001111111111110000 
    00001111111111000000 
    00001000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    19 
    00000000000000000000 
    00000000000000000000 
    00000000000000000000 
    00000011100000000000 
    00100111011011000000 
    00001111111001100000 
    00001110001100100000 
    00001100001100010000 
    00001100000100010000 
    00000100000100010000 
    00000010000000110000 
    00001111011111110000 
    00001111111111110000 
    00001111111111000000 
    00001000010000000000 
    00000000000000000000 
    00000000000001000000 
    00000000000000000000 
    00000000000000000000 
    Figure 1a Figure 1b

    示例输出

    IMAGE.OUT Explanation 
    a Recognised the single character 'a' 

    参考解答

  • 相关阅读:
    浏览器回退
    几个小东西
    获取用户的IP
    easyui datagrid中 formatter的用法
    vscode安装go语言插件失败解决方法
    c#项目NLOG不显示日志
    C# 抽象类与接口的区别
    用SQL Server事件探查器创建跟踪
    使用MathJax在博客园里添加数学公式
    概率主题模型简介 Introduction to Probabilistic Topic Models
  • 原文地址:https://www.cnblogs.com/zhangdongdong/p/2789784.html
Copyright © 2020-2023  润新知