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, , representing the word you are to search for in the grid. The length of will be at least two.
The second line of input will be an integer , where is the number of rows in the grid.
The third line of input will be an integer , where is the number of columns in the grid.
The remaining input will provide the letters in the grid. It will consist of lines, where each line contains 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 , 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
Noo, my brute force solution is getting it wrong :(((
It's so hard to find out what's wrong, I've been rereading it for about 3 hours 😭
edit: admins remove this comment pls it's no longer useful
Hey can someone check my code please. I verified it works with the official test data but I keep getting NameError. Thanks.edit: nvm turns out i was appending to a list i was using to debug but kept the append line after deleting the listWhat's wrong with my code?
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.
pain and suffering...
Since when did crossword puzzles have perpendicular answers? 😕
This comment is hidden due to too much negative feedback. Show it anyway.
will there be palindromes?
The first line of input will contain a string of distinct uppercase letters, , representing the word you are to search for in the grid. The length of 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