欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

识别条形码

程序员文章站 2024-03-24 12:12:04
...

识别条形码

成绩 10 开启时间 2017年08月28日 星期一 09:00
折扣 0.8 折扣时间 2017年09月2日 星期六 22:00
允许迟交 关闭时间 2017年10月10日 星期二 00:00

计算机学院2013级的院草语文难同学是软院院花牟黑黑爱慕的对象,因此牟黑黑经常约楠神去逛街,楠神不喜欢陪牟黑黑逛街,但是不得不从啊。所以在牟黑黑逛街的时候他就无聊的用眼睛识别条形码 。

在生活中,条形码经常用来标志物品的信息。条形码是由黑白相间的条组成的。条的宽度有两种,我们可以认为窄的代表0,宽的代表1。本题中设定宽条的宽度是窄条的两倍。

楠神拥有很强的DIY精神,他决定做一个条形码识别工具。首先他完成了图像识别部分,得到了一系列条的宽度。他希望将这些宽度识别为一个01串。本来这是一个非常简单的任务,可是由于楠神在识别的时候会有误差,使得问题变得没那么简单了。不过楠神认为测量得到的结果最多比真实值大或小5%。请你帮忙完成这个识别程序。已知条形码中至少有一个是宽条,可能没有窄条。

输入第一行为一个数字n(n<20),表示楠神识别出了n个条。

第二行为n个正整数,均不大于10^8。

输出为一个长度为n的01串,宽条对应1,窄条对应0。如果有些条偏差的超过了限制,输出“Bad Barcodes”

  测试输入识别条形码 期待的输出识别条形码 时间限制识别条形码 内存限制识别条形码 额外进程识别条形码
测试用例 1 以文本方式显示
  1. 4↵
  2. 99 105 200 199↵
以文本方式显示
  1. 0011↵
1秒 64M 0


先判断宽条纹,1.如果最宽条纹/1.05<=最窄条纹/0.95,都是宽条纹;
2.如果条纹小于某一中间值,记作窄条纹,否则,记作宽条纹;并将窄条纹*2计入原数组;
3.对新数组,进行1的判断,违反1,则输出bad   ;
否则,输出条形码。

相关标签: idea