#P2302. Traditional BINGO

Traditional BINGO

题目描述

传统的BINGOBINGO游戏通常在大型场馆内进行。玩家们来到场馆,支付入场费用后游戏开始。一个BINGOBINGO之夜由许多连续的BINGOBINGO游戏组成,一个接一个地进行。

单个BINGOBINGO游戏进行方式如下:每位玩家拥有若干张BINGOBINGO卡片(玩家通常可以玩任意数量的卡片)。每张BINGOBINGO卡片有5555列,共提供2525个格子。

这些列从左到右分别标记为字母:B'B'I'I'N'N'G'G'O'O'。除一个例外(中心格子是"免费"的)外,卡片上的格子按以下方式分配数值:

  • B'B'列的每个格子包含111515的数字
  • I'I'列的每个格子包含16163030的数字
  • N'N'列的每个格子包含31314545的数字
  • G'G'列的每个格子包含46466060的数字
  • O'O'列的每个格子包含61617575的数字

此外,同一个数字在一张卡片上只能出现一次。

这是一张示例BINGOBINGO卡片:

B   I   N   G   O
10 17 39 49 64
12 21 36 55 62
14 25 空 52 70
7  19 32 56 68
5  24 34 54 71

独特的BINGOBINGO卡片数量非常庞大,可以用以下公式计算:

// BBIIGGOO列 * NN(15×14×13×12×11)4×(15×14×13×12)(15×14×13×12×11)^4 × (15×14×13×12)

虽然这对统计学家来说可能很有趣,但可能的BINGOBINGO卡片数量与玩家的获胜机会无关。

你会注意到共有7575个可能的BINGOBINGO数字: B1B1B2B2B3B3、...B15B15I16I16I17I17I18I18、...I30I30N31N31N32N32、...O74O74O75O75

每个数字都由一个大型旋转箱中的一个球代表。每个球上都涂有其独特的BINGOBINGO数字。主持人旋转箱子,伸手取出一个球,并向房间宣布。玩家检查他们所有的卡片,看这个数字是否出现在他们的卡片上。如果是,他们就标记它。玩家可以随时标记中心的"免费空间"。

当玩家获得BINGOBINGO(一行、一列或一条对角线上有55个标记)时,他或她会喊出"BINGOBINGO"。游戏暂停,同时验证卡片。如果确实是获胜者,游戏停止并开始新游戏。如果卡片不是获胜者,游戏从暂停处继续。每个BINGOBINGO游戏都会进行,直到有人获胜(总会有一个获胜者)。

输入格式

第一行输入包含nn,表示要分析的BINGOBINGO游戏数量。接下来是nn个游戏描述。每个游戏描述指定一张要玩的卡片,后面跟着一系列BINGOBINGO数字。你需要确定,假设玩家只有这一张卡片且没有其他玩家时,卡片持有者将在何时赢得游戏。

每个卡片描述由五行组成,逐行给出卡片上的数字。除第33行外,所有行都包含55个数字;第33行包含44个数字,因为有免费空间。后面跟着一行或多行,表示所有7575BINGOBINGO数字的某种排序。所有BINGOBINGO数字都是117575之间的简单整数——单字母前缀是多余的。

输出格式

对于每个游戏,适当地输出一行"BINGOBINGO afterafter nn numbersnumbers announcedannounced"。

获胜机会

每个BINGOBINGO游戏都有一张获胜卡片,因此玩家的获胜机会取决于游戏中的卡片数量以及他/她玩了多少张卡片。例如,如果一个玩家在12001200张卡片的游戏中有1212张卡片,那么该玩家的获胜机会是1/1001/100

输入样例1

1
10 17 39 49 64
12 21 36 55 62
14 25 52 70
7 19 32 56 68
5 24 34 54 71
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75

输出样例1

BINGO after 14 numbers announced

来源

滑铁卢大学本地竞赛 2005年2月5日