逻辑如下
1.读入每个字母的Morse编码m[40][10]
2.读入词典word[maxn][11]
3.对照字母将词典翻译为Morse编码词典mword[maxn][61],并计算出每个词的编码长度mlen[maxn]
4.读入编码code[maxn][81]同时计算出编码长度clen[maxn]
5.从Morse编码词典中查找相同长度的编码检验其是否能匹配,对通过检验的mword计数,并将第一个精确匹配上的词序号记录
6.如果存在且只有一个mword[n]能够精确匹配则直接输出,如果存在但有多个mword[n]能够精确匹配则输出第一个匹配上的词,后面加上“!”
7.如果不存在则能够精确匹配的mword[n],则递增变量i,对比长度为clen-i的mword[n]的前clen-i个字符或对比长度为clen+i的前clen个字符,发现能够匹配的词就输出并添加后缀“?”
这题前几次提交总是报“runtime error”,把数组反复调大一点后终于wa了。wa了两天,各种修改,甚至把读取数据的方式从getchar改成了scanf,但一直过不去。