P9303 [CCC 2023 J5] CCC Word Hunt

题目描述

在 CCC 单词搜索游戏中,单词隐藏在一个字母网格中。隐藏单词的字母总是以顺序出现在水平、垂直或对角线段上,有两种方式。一种方式是单词的字母出现在一条线段上。另一种方式是单词的字母出现在一条线段上直到某个字母,然后在该字母处形成直角的第二条线段上。给定一个字母网格和一个要搜索的单词,你的任务是确定该特定单词在网格中隐藏的次数。

输入格式

输入的第一行将包含一个由不同的大写字母组成的字符串 $W$,表示你要在网格中搜索的单词。$W$ 的长度至少为 2。输入的第二行将是一个整数 $R(1 \le R \le 100)$,其中 $R$ 是网格中的行数。输入的第三行将是一个整数 $C(1 \le C \le 100)$,其中 $C$ 是网格中的列数。剩下的输入将提供网格中的字母。它将由 $R$ 行组成,每行包含 $C$ 个用单个空格分隔的大写字母。

输出格式

下表显示了可用的 15 分是如何分配的: | Marks | Word Placement | | :----------: | :---------- | | $2$ | 在一条水平线段上 | | $2$ | 在一条水平或垂直线段上 | | $2$ | 在一条水平、垂直或对角线段上 | | $9$ | 在一条线段或两个互相垂直的线段上 | 输出将由一个非负整数 $H$ 组成,表示单词在网格中隐藏的次数。

说明/提示

**本题采用捆绑测试**。 - 子任务 $1$($2$ 分):隐藏字符串一定在一条水平线段上。 - 子任务 $2$($2$ 分):隐藏字符串一定在一个水平或垂直线段上。 - 子任务 $3$($2$ 分):隐藏字符串一定在一个水平、垂直或对角线段上。 - 子任务 $4$($9$ 分):隐藏字符串一定在一个线段或两个互相垂直的线段上。 样例 $1$ 图解: ![](https://cdn.luogu.com.cn/upload/image_hosting/wqo2un8k.png) 样例 $2$ 图解: ![](https://cdn.luogu.com.cn/upload/image_hosting/v082p2qr.png) 题面翻译由 ChatGPT-4o 提供。