1514_识别骰子

2022-5-16 18:17| 发布者: Hocassian| 查看: 46| 评论: 0|原作者: 肇庆学院ACM合集

摘要:
C:\Users\Administrator\Downloads\2019-10-12-10-14-2-89503874314000-Problem List-采集的数据-后羿采集器.html

Pro.ID

1514

Title

识别骰子

Title链接

http://10.20.2.8/oj/exercise/problem?problem_id=1514

AC

18

Submit

207

Ratio

8.70%

时间&空间限制

  • Time Limit: 600/300 MS (Java/Others)     Memory Limit: 32768/32768 K (Java/Others)
  • 描述

    ZQU是一家专注于研究互联网游戏技术的高科技公司。一家市场调查公司告诉他们,他们开发的技术很可能会在潜在用户群中流行起来。无论是"麻将","大富翁"还是"飞行棋",这些游戏的大多数都涉及到扔骰子的游戏阶段。

    当然啦,如果允许玩家先扔骰子,然后把结果输入到计算机中,将是不合理的,因为这样很容易作弊(例如他扔出骰子得到2点,却在电脑中输入6点)。因此,ZQU决定使用摄像头对着掷出的骰子,拍下照片,分析照片,自动识别骰子上的点数。

    因此他们迫切需要编写一个程序,对一幅图片中的几个骰子,识别出骰子上面的点数。

    对输入的图片作如下几点假设。图片只含3种不同的像素:背景(background)、骰子(dice)以及骰子上的点(dot)。两个像素是相连的,当且仅当他们有共同的边,对角的不算。如下图的像素A和像素B是相连的,B和C则不直接相连。



    考虑像素集S,当S中的每一对像素(a,b),存在一个像素序列a1, a2, ..., ak,使得a = a1,b = ak ,且 ai 和ai+1 是直接相连的( 1 ≤ i < k ) ,此时我们说集合S中的像素是相连的。

    我们把不含背景像素的"最大相连像素集"视为骰子(dice)。最大相连的意思是不能把其他任何一个非背景像素加入到集合S中了,除非把这个像素从其他集合中剥离出来。同样的,点(dot)的最大相连像素集构成骰子上的一个点(dot)。

    输入

    输入包含多幅图片,每幅图片可能含有多个骰子。每幅图片的第一行是2个整数w和h,分别表示图片的宽度和高度。5 ≤ w, h ≤ 50

    接下来是h行,每行有w个字符。字符"."表示背景像素(background),"*"表示骰子像素(dice),"X"表示骰子上的点像素(dot)。

    由于光学畸变的原因,骰子可能呈现不同的形状,不一定是四方形的。每幅图片至少包含一只骰子,骰子上的点数只能是从1到6其中的一个数值。

    当w = h = 0时表示输入结束。

    输出

    Description

    ZQU是一家专注于研究互联网游戏技术的高科技公司。一家市场调查公司告诉他们,他们开发的技术很可能会在潜在用户群中流行起来。无论是"麻将","大富翁"还是"飞行棋",这些游戏的大多数都涉及到扔骰子的游戏阶段。

    当然啦,如果允许玩家先扔骰子,然后把结果输入到计算机中,将是不合理的,因为这样很容易作弊(例如他扔出骰子得到2点,却在电脑中输入6点)。因此,ZQU决定使用摄像头对着掷出的骰子,拍下照片,分析照片,自动识别骰子上的点数。

    因此他们迫切需要编写一个程序,对一幅图片中的几个骰子,识别出骰子上面的点数。

    对输入的图片作如下几点假设。图片只含3种不同的像素:背景(background)、骰子(dice)以及骰子上的点(dot)。两个像素是相连的,当且仅当他们有共同的边,对角的不算。如下图的像素A和像素B是相连的,B和C则不直接相连。



    考虑像素集S,当S中的每一对像素(a,b),存在一个像素序列a1, a2, ..., ak,使得a = a1,b = ak ,且 ai 和ai+1 是直接相连的( 1 ≤ i < k ) ,此时我们说集合S中的像素是相连的。

    我们把不含背景像素的"最大相连像素集"视为骰子(dice)。最大相连的意思是不能把其他任何一个非背景像素加入到集合S中了,除非把这个像素从其他集合中剥离出来。同样的,点(dot)的最大相连像素集构成骰子上的一个点(dot)。

    Input

    输入包含多幅图片,每幅图片可能含有多个骰子。每幅图片的第一行是2个整数w和h,分别表示图片的宽度和高度。5 ≤ w, h ≤ 50

    接下来是h行,每行有w个字符。字符"."表示背景像素(background),"*"表示骰子像素(dice),"X"表示骰子上的点像素(dot)。

    由于光学畸变的原因,骰子可能呈现不同的形状,不一定是四方形的。每幅图片至少包含一只骰子,骰子上的点数只能是从1到6其中的一个数值。

    当w = h = 0时表示输入结束。

    Output

    对每一轮掷出的骰子,首先输出编号,即图片的编号。然后输出图片上骰子的点数,从小到大输出。见输出样例。

    每个测试用例后面输出一个空行。

    Sample Input

    30 15
    ..............................
    ..............................
    ...............*..............
    ...*****......****............
    ...*X***.....**X***...........
    ...*****....***X**............
    ...***X*.....****.............
    ...*****.......*..............
    ..............................
    ........***........******.....
    .......**X****.....*X**X*.....
    ......*******......******.....
    .....****X**.......*X**X*.....
    ........***........******.....
    ..............................
    3 3
    ***
    *X*
    ***
    0 0

    Sample Output

    Throw 1
    1 2 2 4

    Throw 2
    1

    Author

    样例输入

    30 15
    ..............................
    ..............................
    ...............*..............
    ...*****......****............
    ...*X***.....**X***...........
    ...*****....***X**............
    ...***X*.....****.............
    ...*****.......*..............
    ..............................
    ........***........******.....
    .......**X****.....*X**X*.....
    ......*******......******.....
    .....****X**.......*X**X*.....
    ........***........******.....
    ..............................
    3 3
    ***
    *X*
    ***
    0 0

    样例输出

    Throw 1
    1 2 2 4

    Throw 2
    1

    提示

    作者


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部