• [C] 找单词

  • 时间限制: 1000 ms 内存限制: 65535 K
  • 问题描述
  • 给定一个NM列的、由大写字母构成的矩阵,以及W个单词。每个单词可在矩阵中的任何位置朝着任何方向出现,且仅出现一次。

    编程找出每个单词的首字母在矩阵中的位置,以及单词的朝向。

  • 输入
  • 第1行为三个整数N、M、W(N,M,W<=100)。下面N行,每行M个大写字母,表示矩阵。
    下面W行,每行一个单词
  • 输出
  • 输出W行,每行为两个整数和一个字母,之间用一个空格隔开。第i行的两个整数表示第i个单词首字母的行号和列号(从上至下依次为第1至L行,从左往右依次为第1至C列);
    每组测试后面有一个空行。
    字母表示单词的朝向,对应关系如下:
    字母 A B C D E F G H
    朝向 上 右上 右 右下 下 左下 左 左上
    一个单词在矩阵中可能有多个方向的匹配,输出时按照优先级高的输出,优先级顺序为D,C,B,A,H,G,F,E。
  • 样例输入
  • 4 5 4
    MAIGO
    QKRPT
    AREMO
    WERTY
    AKI
    MAIGO
    ARM
    ARMY
    4 5 9
    ABCDK
    EFGHE
    IJKLP
    MNOPQ
    ABC
    KDC
    AEI
    MIE
    QPO
    AFK
    ED
    CFI
    NKH
    
  • 样例输出
  • 3 1 B
    1 1 C
    1 2 D
    1 2 D
     
    1 1 C
    1 5 G
    1 1 E
    4 1 A
    4 5 G
    1 1 D
    2 5 H
    1 3 F
    4 2 B
    
  • 提示
  • 来源
  • @HBMY-JZQ
    
  • 操作

显示春菜