CCC '23 J5 - CCC Word Hunt

View as PDF

Submit solution


Points: 10 (partial)
Time limit: 3.0s
Memory limit: 1G

Problem type
Canadian Computing Competition: 2023 Stage 1, Junior #5

In the CCC Word Hunt, words are hidden in a grid of letters. The letters of a hidden word always appear in order on horizontal, vertical, or diagonal line segments in one of two ways. One way is for the letters of a word to appear on one line segment. The other way is for the letters of a word to appear on one line segment up to some letter and then on a second line segment that forms a right angle at this letter.

Given a grid of letters and a single word to search for, your job is to determine the number of times that particular word is hidden in the grid.

Input Specification

The first line of input will contain a string of distinct uppercase letters, W, representing the word you are to search for in the grid. The length of W will be at least two.

The second line of input will be an integer R (1 \le R \le 100), where R is the number of rows in the grid.

The third line of input will be an integer C (1 \le C \le 100), where C is the number of columns in the grid.

The remaining input will provide the letters in the grid. It will consist of R lines, where each line contains C uppercase letters separated by single spaces.

The following table shows how the available 15 marks are distributed:

Marks Word Placement
2 On one horizontal line segment
2 On one horizontal or vertical line segment
2 On one horizontal, vertical, or diagonal line segment
9 On one line segment or two perpendicular line segments

Output Specification

The output will consist of a single non-negative integer H, representing the number of times the word is hidden in the grid.

Sample Input 1

MENU
5
7
F T R U B L K
P M N A X C U
A E R C N E O
M N E U A R M
M U N E M N S

Sample Output 1

3

Explanation for Sample Output 1

The word MENU is hidden three times in the grid. Once horizontally, once vertically, and once diagonally as shown. Notice that a single letter can be used more than once.

Sample Input 2

NATURE
6
9
N A T S F E G Q N
S A I B M R H F A
C F T J C U C L T
K B H U P T A N U
D P R R R J D I R
I E E K M E G B E

Sample Output 2

4

Explanation of Sample Output 2

The word NATURE is hidden four times in the grid. Once diagonally, once vertically, and twice on perpendicular line segments.


Comments


  • 1
    mucube0  commented on Feb. 21, 2024, 3:53 a.m.

    What's wrong with my code?


  • 5
    ookookeekeek  commented on Jan. 20, 2024, 11:23 p.m.

    Make sure your code accounts for the fact that the word can turn 90 degrees only ONCE.

    The other way is for the letters of a word to appear on one line segment up to some letter and then on a second line segment that forms a right angle at this letter.


  • 20
    TONSSOV  commented on March 22, 2023, 11:23 p.m.

    pain and suffering...


  • 34
    III  commented on Feb. 19, 2023, 10:13 p.m.

    Since when did crossword puzzles have perpendicular answers? 😕


  • 1
    anonymous69  commented on Feb. 19, 2023, 10:07 p.m.

    will there be palindromes?


    • 13
      andy_zhu23  commented on Feb. 20, 2023, 1:43 a.m.

      The first line of input will contain a string of distinct uppercase letters, W , representing the word you are to search for in the grid. The length of W will be at least two.

      A palindrome is not possible when a string has a length greater than 2 and is composed of distinct letters