COCI '23 Contest 4 #1 Bingo

View as PDF

Submit solution

Points: 5 (partial)
Time limit: 1.0s
Memory limit: 512M

Problem type

It's time to play Bingo!

To play Bingo, you need a game master and a drum with 90 balls, each containing a number from 1 to 90, such that every number appears on exactly one ball.

Before the game starts, the game master gives each of the n players a board of size 5 \times 5. Each field of the board contains an integer between 1 and 90, where all the integers on the board are distinct. Each player gets a unique board.

After the players receive their boards, the game can begin.

The game master starts drawing balls from the drum. After drawing a ball with the number x_i, he announces that number and puts the ball aside. The players then check their boards and, if they have the drawn number, they mark it.

When a player marks all 5 numbers in a row, column, main diagonal or antidiagonal, he has a Bingo! and shouts it out. The game ends and that player wins.

To make the game more interesting, the game master has decided to introduce an additional rule. Namely, the game master will draw m balls from the drum before anyone is allowed to shout Bingo! (even if he has already marked all the numbers in a row, column, or diagonal).

But, as soon as the game master drew m balls, there was a commotion: all the players shouted Bingo! at the same time.

The game master is confused and doesn't know who to trust. To resolve this situation, he asked you for help. Determine which players had a Bingo! after drawing m balls, i.e., which players had all the numbers marked in at least one row, column, or diagonal.

Input Specification

The first line contains the integer n (1 \le n \le 50), the number of players.

Then, n times six lines follows:

  • The first of these lines contains a string of at most 20 lowercase English letters, the name of the player. No two players have the same name.
  • Then five lines follow with five integers between 1 and 90, which describe the player's board. All the integers on the board are distinct.

The next line contains the integer m (1 \le m \le 90), the number of balls the game master drew before the players shouted Bingo!.

The next line contains a sequence of m integers between 1 and 90, the numbers the game master drew from the drum. Each number is drawn at most once.

Output Specification

In the first line, output k, the number of players that had a Bingo! after drawing m balls.

In the next k lines, output the names of the players that had a Bingo! after drawing m balls. The names should be output in the same order as they appear in the input.

Scoring

Subtask Points Constraints
1 12 There is only one player, i. e. n = 1
2 22 At most one player will have Bingo!
3 16 No additional constraints.

Sample Input 1

3
babylasagna
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
nataliebalmix
10 20 30 40 50
11 21 31 41 51
12 22 32 42 52
13 23 33 43 53
14 24 34 44 54
lettri
89 88 87 86 10
85 84 83 11 82
81 80 12 79 78
77 13 76 75 74
14 73 72 71 70
6
10 11 12 13 14 15

Sample Output 1

3
babylasagna
nataliebalmix
lettri

Explanation for Sample 1

babylasagna has a Bingo! in the first row.

nataliebalmix has a Bingo! in the first column.

lettri has a Bingo! in the diagonal starting from the bottom-left corner to the top-right corner.

Sample Input 2

1
honi
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
4
1 2 49 50

Sample Output 2

0

Explanation for Sample 2

Only 4 balls were drawn, so no player can have marked all 5 numbers in a row, column, or diagonal.

Sample Input 3

4
rim
15 23 14 26 34
12 11 13 16 17
90 67 45 24 18
85 82 77 66 22
62 71 32 35 7
tim
61 89 25 63 12
29 30 31 32 33
11 17 42 24 18
88 82 77 66 22
44 71 54 35 7
dagi
15 23 14 26 34
12 11 13 16 17
90 67 45 24 18
85 82 77 66 22
62 71 36 35 7
dim
15 23 14 26 34
12 11 13 16 17
90 67 45 24 18
85 82 77 66 22
42 51 32 33 7
7
15 11 66 7 42 30 61

Sample Output 3

1
tim

Comments

There are no comments at the moment.