Teacher YYF - POJ 3746(打表........)

1.名词和介词可以被用作主语或宾语 名词->n  介词->pron

2.当使用名词时,必须有冠词在它前面 n+art(冠词)
3.名词可以被一个形容词修饰,动词可以被一个副词修饰 adj+n | adv+v
4.当形容词修饰名词时,形容词需要放在冠词和名词之间 art+adj+n
5.当用副词修饰动词时,副词需要放在动词前面 adv + v(有及物和不及物)
6.一个介词短语可以被放在主语前面,主语和动词之间,不及物动词后面,动词和宾语之间,宾语后面
7.一个介词短语由 一个介词和一个名词/代词 组成......
8.在一个句子里,最多只能有一个介词短语
9.句子不能被切断
10.字典里面的单词只会有一种词性
 
我承认英语确实不好,所以直接盗了别人一个表(代码里面找)。确实比较恶心的题目!!
 
代码如下:
=========================================================================================
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<stdlib.h>
using namespace std;

const int MAXM = 26;
const int MAXN = 5007;
const int NUM = 588;

struct node
{
    char *pWord;
    node *next[MAXM];
};

char word[MAXN][107], s[MAXN];
char sentences[588][100]={
 "pron.v.",
 "pron.vi.",
 "pron.adv.v.",
 "pron.adv.vi.",
 "art.n.v.",
 "art.n.vi.",
 "art.n.adv.v.",
 "art.n.adv.vi.",
 "art.adj.n.v.",
 "art.adj.n.vi.",
 "art.adj.n.adv.v.",
 "art.adj.n.adv.vi.",
 "prep.pron.pron.v.",
 "prep.pron.pron.vi.",
 "prep.pron.pron.adv.v.",
 "prep.pron.pron.adv.vi.",
 "prep.pron.art.n.v.",
 "prep.pron.art.n.vi.",
 "prep.pron.art.n.adv.v.",
 "prep.pron.art.n.adv.vi.",
 "prep.pron.art.adj.n.v.",
 "prep.pron.art.adj.n.vi.",
 "prep.pron.art.adj.n.adv.v.",
 "prep.pron.art.adj.n.adv.vi.",
 "prep.art.n.pron.v.",
 "prep.art.n.pron.vi.",
 "prep.art.n.pron.adv.v.",
 "prep.art.n.pron.adv.vi.",
 "prep.art.n.art.n.v.",
 "prep.art.n.art.n.vi.",
 "prep.art.n.art.n.adv.v.",
 "prep.art.n.art.n.adv.vi.",
 "prep.art.n.art.adj.n.v.",
 "prep.art.n.art.adj.n.vi.",
 "prep.art.n.art.adj.n.adv.v.",
 "prep.art.n.art.adj.n.adv.vi.",
 "prep.art.adj.n.pron.v.",
 "prep.art.adj.n.pron.vi.",
 "prep.art.adj.n.pron.adv.v.",
 "prep.art.adj.n.pron.adv.vi.",
 "prep.art.adj.n.art.n.v.",
 "prep.art.adj.n.art.n.vi.",
 "prep.art.adj.n.art.n.adv.v.",
 "prep.art.adj.n.art.n.adv.vi.",
 "prep.art.adj.n.art.adj.n.v.",
 "prep.art.adj.n.art.adj.n.vi.",
 "prep.art.adj.n.art.adj.n.adv.v.",
 "prep.art.adj.n.art.adj.n.adv.vi.",
 "pron.prep.pron.v.",
 "pron.prep.pron.vi.",
 "pron.prep.pron.adv.v.",
 "pron.prep.pron.adv.vi.",
 "pron.prep.art.n.v.",
 "pron.prep.art.n.vi.",
 "pron.prep.art.n.adv.v.",
 "pron.prep.art.n.adv.vi.",
 "pron.prep.art.adj.n.v.",
 "pron.prep.art.adj.n.vi.",
 "pron.prep.art.adj.n.adv.v.",
 "pron.prep.art.adj.n.adv.vi.",
 "art.n.prep.pron.v.",
 "art.n.prep.pron.vi.",
 "art.n.prep.pron.adv.v.",
 "art.n.prep.pron.adv.vi.",
 "art.n.prep.art.n.v.",
 "art.n.prep.art.n.vi.",
 "art.n.prep.art.n.adv.v.",
 "art.n.prep.art.n.adv.vi.",
 "art.n.prep.art.adj.n.v.",
 "art.n.prep.art.adj.n.vi.",
 "art.n.prep.art.adj.n.adv.v.",
 "art.n.prep.art.adj.n.adv.vi.",
 "art.adj.n.prep.pron.v.",
 "art.adj.n.prep.pron.vi.",
 "art.adj.n.prep.pron.adv.v.",
 "art.adj.n.prep.pron.adv.vi.",
 "art.adj.n.prep.art.n.v.",
 "art.adj.n.prep.art.n.vi.",
 "art.adj.n.prep.art.n.adv.v.",
 "art.adj.n.prep.art.n.adv.vi.",
 "art.adj.n.prep.art.adj.n.v.",
 "art.adj.n.prep.art.adj.n.vi.",
 "art.adj.n.prep.art.adj.n.adv.v.",
 "art.adj.n.prep.art.adj.n.adv.vi.",
 "pron.v.prep.pron.",
 "pron.v.prep.art.n.",
 "pron.v.prep.art.adj.n.",
 "pron.vi.prep.pron.",
 "pron.vi.prep.art.n.",
 "pron.vi.prep.art.adj.n.",
 "pron.adv.v.prep.pron.",
 "pron.adv.v.prep.art.n.",
 "pron.adv.v.prep.art.adj.n.",
 "pron.adv.vi.prep.pron.",
 "pron.adv.vi.prep.art.n.",
 "pron.adv.vi.prep.art.adj.n.",
 "art.n.v.prep.pron.",
 "art.n.v.prep.art.n.",
 "art.n.v.prep.art.adj.n.",
 "art.n.vi.prep.pron.",
 "art.n.vi.prep.art.n.",
 "art.n.vi.prep.art.adj.n.",
 "art.n.adv.v.prep.pron.",
 "art.n.adv.v.prep.art.n.",
 "art.n.adv.v.prep.art.adj.n.",
 "art.n.adv.vi.prep.pron.",
 "art.n.adv.vi.prep.art.n.",
 "art.n.adv.vi.prep.art.adj.n.",
 "art.adj.n.v.prep.pron.",
 "art.adj.n.v.prep.art.n.",
 "art.adj.n.v.prep.art.adj.n.",
 "art.adj.n.vi.prep.pron.",
 "art.adj.n.vi.prep.art.n.",
 "art.adj.n.vi.prep.art.adj.n.",
 "art.adj.n.adv.v.prep.pron.",
 "art.adj.n.adv.v.prep.art.n.",
 "art.adj.n.adv.v.prep.art.adj.n.",
 "art.adj.n.adv.vi.prep.pron.",
 "art.adj.n.adv.vi.prep.art.n.",
 "art.adj.n.adv.vi.prep.art.adj.n.",
 "pron.v.pron.",
 "pron.v.art.n.",
 "pron.v.art.adj.n.",
 "pron.vt.pron.",
 "pron.vt.art.n.",
 "pron.vt.art.adj.n.",
 "pron.adv.v.pron.",
 "pron.adv.v.art.n.",
 "pron.adv.v.art.adj.n.",
 "pron.adv.vt.pron.",
 "pron.adv.vt.art.n.",
 "pron.adv.vt.art.adj.n.",
 "art.n.v.pron.",
 "art.n.v.art.n.",
 "art.n.v.art.adj.n.",
 "art.n.vt.pron.",
 "art.n.vt.art.n.",
 "art.n.vt.art.adj.n.",
 "art.n.adv.v.pron.",
 "art.n.adv.v.art.n.",
 "art.n.adv.v.art.adj.n.",
 "art.n.adv.vt.pron.",
 "art.n.adv.vt.art.n.",
 "art.n.adv.vt.art.adj.n.",
 "art.adj.n.v.pron.",
 "art.adj.n.v.art.n.",
 "art.adj.n.v.art.adj.n.",
 "art.adj.n.vt.pron.",
 "art.adj.n.vt.art.n.",
 "art.adj.n.vt.art.adj.n.",
 "art.adj.n.adv.v.pron.",
 "art.adj.n.adv.v.art.n.",
 "art.adj.n.adv.v.art.adj.n.",
 "art.adj.n.adv.vt.pron.",
 "art.adj.n.adv.vt.art.n.",
 "art.adj.n.adv.vt.art.adj.n.",
 "prep.pron.pron.v.pron.",
 "prep.pron.pron.v.art.n.",
 "prep.pron.pron.v.art.adj.n.",
 "prep.pron.pron.vt.pron.",
 "prep.pron.pron.vt.art.n.",
 "prep.pron.pron.vt.art.adj.n.",
 "prep.pron.pron.adv.v.pron.",
 "prep.pron.pron.adv.v.art.n.",
 "prep.pron.pron.adv.v.art.adj.n.",
 "prep.pron.pron.adv.vt.pron.",
 "prep.pron.pron.adv.vt.art.n.",
 "prep.pron.pron.adv.vt.art.adj.n.",
 "prep.pron.art.n.v.pron.",
 "prep.pron.art.n.v.art.n.",
 "prep.pron.art.n.v.art.adj.n.",
 "prep.pron.art.n.vt.pron.",
 "prep.pron.art.n.vt.art.n.",
 "prep.pron.art.n.vt.art.adj.n.",
 "prep.pron.art.n.adv.v.pron.",
 "prep.pron.art.n.adv.v.art.n.",
 "prep.pron.art.n.adv.v.art.adj.n.",
 "prep.pron.art.n.adv.vt.pron.",
 "prep.pron.art.n.adv.vt.art.n.",
 "prep.pron.art.n.adv.vt.art.adj.n.",
 "prep.pron.art.adj.n.v.pron.",
 "prep.pron.art.adj.n.v.art.n.",
 "prep.pron.art.adj.n.v.art.adj.n.",
 "prep.pron.art.adj.n.vt.pron.",
 "prep.pron.art.adj.n.vt.art.n.",
 "prep.pron.art.adj.n.vt.art.adj.n.",
 "prep.pron.art.adj.n.adv.v.pron.",
 "prep.pron.art.adj.n.adv.v.art.n.",
 "prep.pron.art.adj.n.adv.v.art.adj.n.",
 "prep.pron.art.adj.n.adv.vt.pron.",
 "prep.pron.art.adj.n.adv.vt.art.n.",
 "prep.pron.art.adj.n.adv.vt.art.adj.n.",
 "prep.art.n.pron.v.pron.",
 "prep.art.n.pron.v.art.n.",
 "prep.art.n.pron.v.art.adj.n.",
 "prep.art.n.pron.vt.pron.",
 "prep.art.n.pron.vt.art.n.",
 "prep.art.n.pron.vt.art.adj.n.",
 "prep.art.n.pron.adv.v.pron.",
 "prep.art.n.pron.adv.v.art.n.",
 "prep.art.n.pron.adv.v.art.adj.n.",
 "prep.art.n.pron.adv.vt.pron.",
 "prep.art.n.pron.adv.vt.art.n.",
 "prep.art.n.pron.adv.vt.art.adj.n.",
 "prep.art.n.art.n.v.pron.",
 "prep.art.n.art.n.v.art.n.",
 "prep.art.n.art.n.v.art.adj.n.",
 "prep.art.n.art.n.vt.pron.",
 "prep.art.n.art.n.vt.art.n.",
 "prep.art.n.art.n.vt.art.adj.n.",
 "prep.art.n.art.n.adv.v.pron.",
 "prep.art.n.art.n.adv.v.art.n.",
 "prep.art.n.art.n.adv.v.art.adj.n.",
 "prep.art.n.art.n.adv.vt.pron.",
 "prep.art.n.art.n.adv.vt.art.n.",
 "prep.art.n.art.n.adv.vt.art.adj.n.",
 "prep.art.n.art.adj.n.v.pron.",
 "prep.art.n.art.adj.n.v.art.n.",
 "prep.art.n.art.adj.n.v.art.adj.n.",
 "prep.art.n.art.adj.n.vt.pron.",
 "prep.art.n.art.adj.n.vt.art.n.",
 "prep.art.n.art.adj.n.vt.art.adj.n.",
 "prep.art.n.art.adj.n.adv.v.pron.",
 "prep.art.n.art.adj.n.adv.v.art.n.",
 "prep.art.n.art.adj.n.adv.v.art.adj.n.",
 "prep.art.n.art.adj.n.adv.vt.pron.",
 "prep.art.n.art.adj.n.adv.vt.art.n.",
 "prep.art.n.art.adj.n.adv.vt.art.adj.n.",
 "prep.art.adj.n.pron.v.pron.",
 "prep.art.adj.n.pron.v.art.n.",
 "prep.art.adj.n.pron.v.art.adj.n.",
 "prep.art.adj.n.pron.vt.pron.",
 "prep.art.adj.n.pron.vt.art.n.",
 "prep.art.adj.n.pron.vt.art.adj.n.",
 "prep.art.adj.n.pron.adv.v.pron.",
 "prep.art.adj.n.pron.adv.v.art.n.",
 "prep.art.adj.n.pron.adv.v.art.adj.n.",
 "prep.art.adj.n.pron.adv.vt.pron.",
 "prep.art.adj.n.pron.adv.vt.art.n.",
 "prep.art.adj.n.pron.adv.vt.art.adj.n.",
 "prep.art.adj.n.art.n.v.pron.",
 "prep.art.adj.n.art.n.v.art.n.",
 "prep.art.adj.n.art.n.v.art.adj.n.",
 "prep.art.adj.n.art.n.vt.pron.",
 "prep.art.adj.n.art.n.vt.art.n.",
 "prep.art.adj.n.art.n.vt.art.adj.n.",
 "prep.art.adj.n.art.n.adv.v.pron.",
 "prep.art.adj.n.art.n.adv.v.art.n.",
 "prep.art.adj.n.art.n.adv.v.art.adj.n.",
 "prep.art.adj.n.art.n.adv.vt.pron.",
 "prep.art.adj.n.art.n.adv.vt.art.n.",
 "prep.art.adj.n.art.n.adv.vt.art.adj.n.",
 "prep.art.adj.n.art.adj.n.v.pron.",
 "prep.art.adj.n.art.adj.n.v.art.n.",
 "prep.art.adj.n.art.adj.n.v.art.adj.n.",
 "prep.art.adj.n.art.adj.n.vt.pron.",
 "prep.art.adj.n.art.adj.n.vt.art.n.",
 "prep.art.adj.n.art.adj.n.vt.art.adj.n.",
 "prep.art.adj.n.art.adj.n.adv.v.pron.",
 "prep.art.adj.n.art.adj.n.adv.v.art.n.",
 "prep.art.adj.n.art.adj.n.adv.v.art.adj.n.",
 "prep.art.adj.n.art.adj.n.adv.vt.pron.",
 "prep.art.adj.n.art.adj.n.adv.vt.art.n.",
 "prep.art.adj.n.art.adj.n.adv.vt.art.adj.n.",
 "pron.prep.pron.v.pron.",
 "pron.prep.pron.v.art.n.",
 "pron.prep.pron.v.art.adj.n.",
 "pron.prep.pron.vt.pron.",
 "pron.prep.pron.vt.art.n.",
 "pron.prep.pron.vt.art.adj.n.",
 "pron.prep.pron.adv.v.pron.",
 "pron.prep.pron.adv.v.art.n.",
 "pron.prep.pron.adv.v.art.adj.n.",
 "pron.prep.pron.adv.vt.pron.",
 "pron.prep.pron.adv.vt.art.n.",
 "pron.prep.pron.adv.vt.art.adj.n.",
 "pron.prep.art.n.v.pron.",
 "pron.prep.art.n.v.art.n.",
 "pron.prep.art.n.v.art.adj.n.",
 "pron.prep.art.n.vt.pron.",
 "pron.prep.art.n.vt.art.n.",
 "pron.prep.art.n.vt.art.adj.n.",
 "pron.prep.art.n.adv.v.pron.",
 "pron.prep.art.n.adv.v.art.n.",
 "pron.prep.art.n.adv.v.art.adj.n.",
 "pron.prep.art.n.adv.vt.pron.",
 "pron.prep.art.n.adv.vt.art.n.",
 "pron.prep.art.n.adv.vt.art.adj.n.",
 "pron.prep.art.adj.n.v.pron.",
 "pron.prep.art.adj.n.v.art.n.",
 "pron.prep.art.adj.n.v.art.adj.n.",
 "pron.prep.art.adj.n.vt.pron.",
 "pron.prep.art.adj.n.vt.art.n.",
 "pron.prep.art.adj.n.vt.art.adj.n.",
 "pron.prep.art.adj.n.adv.v.pron.",
 "pron.prep.art.adj.n.adv.v.art.n.",
 "pron.prep.art.adj.n.adv.v.art.adj.n.",
 "pron.prep.art.adj.n.adv.vt.pron.",
 "pron.prep.art.adj.n.adv.vt.art.n.",
 "pron.prep.art.adj.n.adv.vt.art.adj.n.",
 "art.n.prep.pron.v.pron.",
 "art.n.prep.pron.v.art.n.",
 "art.n.prep.pron.v.art.adj.n.",
 "art.n.prep.pron.vt.pron.",
 "art.n.prep.pron.vt.art.n.",
 "art.n.prep.pron.vt.art.adj.n.",
 "art.n.prep.pron.adv.v.pron.",
 "art.n.prep.pron.adv.v.art.n.",
 "art.n.prep.pron.adv.v.art.adj.n.",
 "art.n.prep.pron.adv.vt.pron.",
 "art.n.prep.pron.adv.vt.art.n.",
 "art.n.prep.pron.adv.vt.art.adj.n.",
 "art.n.prep.art.n.v.pron.",
 "art.n.prep.art.n.v.art.n.",
 "art.n.prep.art.n.v.art.adj.n.",
 "art.n.prep.art.n.vt.pron.",
 "art.n.prep.art.n.vt.art.n.",
 "art.n.prep.art.n.vt.art.adj.n.",
 "art.n.prep.art.n.adv.v.pron.",
 "art.n.prep.art.n.adv.v.art.n.",
 "art.n.prep.art.n.adv.v.art.adj.n.",
 "art.n.prep.art.n.adv.vt.pron.",
 "art.n.prep.art.n.adv.vt.art.n.",
 "art.n.prep.art.n.adv.vt.art.adj.n.",
 "art.n.prep.art.adj.n.v.pron.",
 "art.n.prep.art.adj.n.v.art.n.",
 "art.n.prep.art.adj.n.v.art.adj.n.",
 "art.n.prep.art.adj.n.vt.pron.",
 "art.n.prep.art.adj.n.vt.art.n.",
 "art.n.prep.art.adj.n.vt.art.adj.n.",
 "art.n.prep.art.adj.n.adv.v.pron.",
 "art.n.prep.art.adj.n.adv.v.art.n.",
 "art.n.prep.art.adj.n.adv.v.art.adj.n.",
 "art.n.prep.art.adj.n.adv.vt.pron.",
 "art.n.prep.art.adj.n.adv.vt.art.n.",
 "art.n.prep.art.adj.n.adv.vt.art.adj.n.",
 "art.adj.n.prep.pron.v.pron.",
 "art.adj.n.prep.pron.v.art.n.",
 "art.adj.n.prep.pron.v.art.adj.n.",
 "art.adj.n.prep.pron.vt.pron.",
 "art.adj.n.prep.pron.vt.art.n.",
 "art.adj.n.prep.pron.vt.art.adj.n.",
 "art.adj.n.prep.pron.adv.v.pron.",
 "art.adj.n.prep.pron.adv.v.art.n.",
 "art.adj.n.prep.pron.adv.v.art.adj.n.",
 "art.adj.n.prep.pron.adv.vt.pron.",
 "art.adj.n.prep.pron.adv.vt.art.n.",
 "art.adj.n.prep.pron.adv.vt.art.adj.n.",
 "art.adj.n.prep.art.n.v.pron.",
 "art.adj.n.prep.art.n.v.art.n.",
 "art.adj.n.prep.art.n.v.art.adj.n.",
 "art.adj.n.prep.art.n.vt.pron.",
 "art.adj.n.prep.art.n.vt.art.n.",
 "art.adj.n.prep.art.n.vt.art.adj.n.",
 "art.adj.n.prep.art.n.adv.v.pron.",
 "art.adj.n.prep.art.n.adv.v.art.n.",
 "art.adj.n.prep.art.n.adv.v.art.adj.n.",
 "art.adj.n.prep.art.n.adv.vt.pron.",
 "art.adj.n.prep.art.n.adv.vt.art.n.",
 "art.adj.n.prep.art.n.adv.vt.art.adj.n.",
 "art.adj.n.prep.art.adj.n.v.pron.",
 "art.adj.n.prep.art.adj.n.v.art.n.",
 "art.adj.n.prep.art.adj.n.v.art.adj.n.",
 "art.adj.n.prep.art.adj.n.vt.pron.",
 "art.adj.n.prep.art.adj.n.vt.art.n.",
 "art.adj.n.prep.art.adj.n.vt.art.adj.n.",
 "art.adj.n.prep.art.adj.n.adv.v.pron.",
 "art.adj.n.prep.art.adj.n.adv.v.art.n.",
 "art.adj.n.prep.art.adj.n.adv.v.art.adj.n.",
 "art.adj.n.prep.art.adj.n.adv.vt.pron.",
 "art.adj.n.prep.art.adj.n.adv.vt.art.n.",
 "art.adj.n.prep.art.adj.n.adv.vt.art.adj.n.",
 "pron.v.prep.pron.pron.",
 "pron.v.prep.pron.art.n.",
 "pron.v.prep.pron.art.adj.n.",
 "pron.v.prep.art.n.pron.",
 "pron.v.prep.art.n.art.n.",
 "pron.v.prep.art.n.art.adj.n.",
 "pron.v.prep.art.adj.n.pron.",
 "pron.v.prep.art.adj.n.art.n.",
 "pron.v.prep.art.adj.n.art.adj.n.",
 "pron.vt.prep.pron.pron.",
 "pron.vt.prep.pron.art.n.",
 "pron.vt.prep.pron.art.adj.n.",
 "pron.vt.prep.art.n.pron.",
 "pron.vt.prep.art.n.art.n.",
 "pron.vt.prep.art.n.art.adj.n.",
 "pron.vt.prep.art.adj.n.pron.",
 "pron.vt.prep.art.adj.n.art.n.",
 "pron.vt.prep.art.adj.n.art.adj.n.",
 "pron.adv.v.prep.pron.pron.",
 "pron.adv.v.prep.pron.art.n.",
 "pron.adv.v.prep.pron.art.adj.n.",
 "pron.adv.v.prep.art.n.pron.",
 "pron.adv.v.prep.art.n.art.n.",
 "pron.adv.v.prep.art.n.art.adj.n.",
 "pron.adv.v.prep.art.adj.n.pron.",
 "pron.adv.v.prep.art.adj.n.art.n.",
 "pron.adv.v.prep.art.adj.n.art.adj.n.",
 "pron.adv.vt.prep.pron.pron.",
 "pron.adv.vt.prep.pron.art.n.",
 "pron.adv.vt.prep.pron.art.adj.n.",
 "pron.adv.vt.prep.art.n.pron.",
 "pron.adv.vt.prep.art.n.art.n.",
 "pron.adv.vt.prep.art.n.art.adj.n.",
 "pron.adv.vt.prep.art.adj.n.pron.",
 "pron.adv.vt.prep.art.adj.n.art.n.",
 "pron.adv.vt.prep.art.adj.n.art.adj.n.",
 "art.n.v.prep.pron.pron.",
 "art.n.v.prep.pron.art.n.",
 "art.n.v.prep.pron.art.adj.n.",
 "art.n.v.prep.art.n.pron.",
 "art.n.v.prep.art.n.art.n.",
 "art.n.v.prep.art.n.art.adj.n.",
 "art.n.v.prep.art.adj.n.pron.",
 "art.n.v.prep.art.adj.n.art.n.",
 "art.n.v.prep.art.adj.n.art.adj.n.",
 "art.n.vt.prep.pron.pron.",
 "art.n.vt.prep.pron.art.n.",
 "art.n.vt.prep.pron.art.adj.n.",
 "art.n.vt.prep.art.n.pron.",
 "art.n.vt.prep.art.n.art.n.",
 "art.n.vt.prep.art.n.art.adj.n.",
 "art.n.vt.prep.art.adj.n.pron.",
 "art.n.vt.prep.art.adj.n.art.n.",
 "art.n.vt.prep.art.adj.n.art.adj.n.",
 "art.n.adv.v.prep.pron.pron.",
 "art.n.adv.v.prep.pron.art.n.",
 "art.n.adv.v.prep.pron.art.adj.n.",
 "art.n.adv.v.prep.art.n.pron.",
 "art.n.adv.v.prep.art.n.art.n.",
 "art.n.adv.v.prep.art.n.art.adj.n.",
 "art.n.adv.v.prep.art.adj.n.pron.",
 "art.n.adv.v.prep.art.adj.n.art.n.",
 "art.n.adv.v.prep.art.adj.n.art.adj.n.",
 "art.n.adv.vt.prep.pron.pron.",
 "art.n.adv.vt.prep.pron.art.n.",
 "art.n.adv.vt.prep.pron.art.adj.n.",
 "art.n.adv.vt.prep.art.n.pron.",
 "art.n.adv.vt.prep.art.n.art.n.",
 "art.n.adv.vt.prep.art.n.art.adj.n.",
 "art.n.adv.vt.prep.art.adj.n.pron.",
 "art.n.adv.vt.prep.art.adj.n.art.n.",
 "art.n.adv.vt.prep.art.adj.n.art.adj.n.",
 "art.adj.n.v.prep.pron.pron.",
 "art.adj.n.v.prep.pron.art.n.",
 "art.adj.n.v.prep.pron.art.adj.n.",
 "art.adj.n.v.prep.art.n.pron.",
 "art.adj.n.v.prep.art.n.art.n.",
 "art.adj.n.v.prep.art.n.art.adj.n.",
 "art.adj.n.v.prep.art.adj.n.pron.",
 "art.adj.n.v.prep.art.adj.n.art.n.",
 "art.adj.n.v.prep.art.adj.n.art.adj.n.",
 "art.adj.n.vt.prep.pron.pron.",
 "art.adj.n.vt.prep.pron.art.n.",
 "art.adj.n.vt.prep.pron.art.adj.n.",
 "art.adj.n.vt.prep.art.n.pron.",
 "art.adj.n.vt.prep.art.n.art.n.",
 "art.adj.n.vt.prep.art.n.art.adj.n.",
 "art.adj.n.vt.prep.art.adj.n.pron.",
 "art.adj.n.vt.prep.art.adj.n.art.n.",
 "art.adj.n.vt.prep.art.adj.n.art.adj.n.",
 "art.adj.n.adv.v.prep.pron.pron.",
 "art.adj.n.adv.v.prep.pron.art.n.",
 "art.adj.n.adv.v.prep.pron.art.adj.n.",
 "art.adj.n.adv.v.prep.art.n.pron.",
 "art.adj.n.adv.v.prep.art.n.art.n.",
 "art.adj.n.adv.v.prep.art.n.art.adj.n.",
 "art.adj.n.adv.v.prep.art.adj.n.pron.",
 "art.adj.n.adv.v.prep.art.adj.n.art.n.",
 "art.adj.n.adv.v.prep.art.adj.n.art.adj.n.",
 "art.adj.n.adv.vt.prep.pron.pron.",
 "art.adj.n.adv.vt.prep.pron.art.n.",
 "art.adj.n.adv.vt.prep.pron.art.adj.n.",
 "art.adj.n.adv.vt.prep.art.n.pron.",
 "art.adj.n.adv.vt.prep.art.n.art.n.",
 "art.adj.n.adv.vt.prep.art.n.art.adj.n.",
 "art.adj.n.adv.vt.prep.art.adj.n.pron.",
 "art.adj.n.adv.vt.prep.art.adj.n.art.n.",
 "art.adj.n.adv.vt.prep.art.adj.n.art.adj.n.",
 "pron.v.pron.prep.pron.",
 "pron.v.pron.prep.art.n.",
 "pron.v.pron.prep.art.adj.n.",
 "pron.v.art.n.prep.pron.",
 "pron.v.art.n.prep.art.n.",
 "pron.v.art.n.prep.art.adj.n.",
 "pron.v.art.adj.n.prep.pron.",
 "pron.v.art.adj.n.prep.art.n.",
 "pron.v.art.adj.n.prep.art.adj.n.",
 "pron.vt.pron.prep.pron.",
 "pron.vt.pron.prep.art.n.",
 "pron.vt.pron.prep.art.adj.n.",
 "pron.vt.art.n.prep.pron.",
 "pron.vt.art.n.prep.art.n.",
 "pron.vt.art.n.prep.art.adj.n.",
 "pron.vt.art.adj.n.prep.pron.",
 "pron.vt.art.adj.n.prep.art.n.",
 "pron.vt.art.adj.n.prep.art.adj.n.",
 "pron.adv.v.pron.prep.pron.",
 "pron.adv.v.pron.prep.art.n.",
 "pron.adv.v.pron.prep.art.adj.n.",
 "pron.adv.v.art.n.prep.pron.",
 "pron.adv.v.art.n.prep.art.n.",
 "pron.adv.v.art.n.prep.art.adj.n.",
 "pron.adv.v.art.adj.n.prep.pron.",
 "pron.adv.v.art.adj.n.prep.art.n.",
 "pron.adv.v.art.adj.n.prep.art.adj.n.",
 "pron.adv.vt.pron.prep.pron.",
 "pron.adv.vt.pron.prep.art.n.",
 "pron.adv.vt.pron.prep.art.adj.n.",
 "pron.adv.vt.art.n.prep.pron.",
 "pron.adv.vt.art.n.prep.art.n.",
 "pron.adv.vt.art.n.prep.art.adj.n.",
 "pron.adv.vt.art.adj.n.prep.pron.",
 "pron.adv.vt.art.adj.n.prep.art.n.",
 "pron.adv.vt.art.adj.n.prep.art.adj.n.",
 "art.n.v.pron.prep.pron.",
 "art.n.v.pron.prep.art.n.",
 "art.n.v.pron.prep.art.adj.n.",
 "art.n.v.art.n.prep.pron.",
 "art.n.v.art.n.prep.art.n.",
 "art.n.v.art.n.prep.art.adj.n.",
 "art.n.v.art.adj.n.prep.pron.",
 "art.n.v.art.adj.n.prep.art.n.",
 "art.n.v.art.adj.n.prep.art.adj.n.",
 "art.n.vt.pron.prep.pron.",
 "art.n.vt.pron.prep.art.n.",
 "art.n.vt.pron.prep.art.adj.n.",
 "art.n.vt.art.n.prep.pron.",
 "art.n.vt.art.n.prep.art.n.",
 "art.n.vt.art.n.prep.art.adj.n.",
 "art.n.vt.art.adj.n.prep.pron.",
 "art.n.vt.art.adj.n.prep.art.n.",
 "art.n.vt.art.adj.n.prep.art.adj.n.",
 "art.n.adv.v.pron.prep.pron.",
 "art.n.adv.v.pron.prep.art.n.",
 "art.n.adv.v.pron.prep.art.adj.n.",
 "art.n.adv.v.art.n.prep.pron.",
 "art.n.adv.v.art.n.prep.art.n.",
 "art.n.adv.v.art.n.prep.art.adj.n.",
 "art.n.adv.v.art.adj.n.prep.pron.",
 "art.n.adv.v.art.adj.n.prep.art.n.",
 "art.n.adv.v.art.adj.n.prep.art.adj.n.",
 "art.n.adv.vt.pron.prep.pron.",
 "art.n.adv.vt.pron.prep.art.n.",
 "art.n.adv.vt.pron.prep.art.adj.n.",
 "art.n.adv.vt.art.n.prep.pron.",
 "art.n.adv.vt.art.n.prep.art.n.",
 "art.n.adv.vt.art.n.prep.art.adj.n.",
 "art.n.adv.vt.art.adj.n.prep.pron.",
 "art.n.adv.vt.art.adj.n.prep.art.n.",
 "art.n.adv.vt.art.adj.n.prep.art.adj.n.",
 "art.adj.n.v.pron.prep.pron.",
 "art.adj.n.v.pron.prep.art.n.",
 "art.adj.n.v.pron.prep.art.adj.n.",
 "art.adj.n.v.art.n.prep.pron.",
 "art.adj.n.v.art.n.prep.art.n.",
 "art.adj.n.v.art.n.prep.art.adj.n.",
 "art.adj.n.v.art.adj.n.prep.pron.",
 "art.adj.n.v.art.adj.n.prep.art.n.",
 "art.adj.n.v.art.adj.n.prep.art.adj.n.",
 "art.adj.n.vt.pron.prep.pron.",
 "art.adj.n.vt.pron.prep.art.n.",
 "art.adj.n.vt.pron.prep.art.adj.n.",
 "art.adj.n.vt.art.n.prep.pron.",
 "art.adj.n.vt.art.n.prep.art.n.",
 "art.adj.n.vt.art.n.prep.art.adj.n.",
 "art.adj.n.vt.art.adj.n.prep.pron.",
 "art.adj.n.vt.art.adj.n.prep.art.n.",
 "art.adj.n.vt.art.adj.n.prep.art.adj.n.",
 "art.adj.n.adv.v.pron.prep.pron.",
 "art.adj.n.adv.v.pron.prep.art.n.",
 "art.adj.n.adv.v.pron.prep.art.adj.n.",
 "art.adj.n.adv.v.art.n.prep.pron.",
 "art.adj.n.adv.v.art.n.prep.art.n.",
 "art.adj.n.adv.v.art.n.prep.art.adj.n.",
 "art.adj.n.adv.v.art.adj.n.prep.pron.",
 "art.adj.n.adv.v.art.adj.n.prep.art.n.",
 "art.adj.n.adv.v.art.adj.n.prep.art.adj.n.",
 "art.adj.n.adv.vt.pron.prep.pron.",
 "art.adj.n.adv.vt.pron.prep.art.n.",
 "art.adj.n.adv.vt.pron.prep.art.adj.n.",
 "art.adj.n.adv.vt.art.n.prep.pron.",
 "art.adj.n.adv.vt.art.n.prep.art.n.",
 "art.adj.n.adv.vt.art.n.prep.art.adj.n.",
 "art.adj.n.adv.vt.art.adj.n.prep.pron.",
 "art.adj.n.adv.vt.art.adj.n.prep.art.n.",
 "art.adj.n.adv.vt.art.adj.n.prep.art.adj.n."
 };
void HandleStr(char s[])
{
    for(int i=0; s[i]; i++)
    {
        if(s[i] >= 'A' && s[i] <= 'Z')
            s[i] = s[i]-'A' + 'a';
        if( !(s[i]>='a' && s[i]<='z') )
            s[i] = ' ';
    }
}
void BuildTrie(node *head, char s[])
{
    node *p = head;

    for(int i=0; s[i]; i++)
    {
        int k = s[i] - 'a';

        if(p->next[k] == NULL)
            p->next[k] = new node();
        p = p->next[k];
    }

    p->pWord = head->pWord;
}
void QueryTrie(node *head, char s[])
{
    node *p = head;

    for(int i=0; s[i]; i++)
        p = p->next[ s[i]-'a' ];

    head->pWord = p->pWord;
}
void FreeTrie(node *head)
{
    node *p = head;

    for(int i=0; i<MAXM; i++)
    {
        if(p->next[i] != NULL)
            FreeTrie(p->next[i]);
    }

    free(p);
}

int main()
{
    int i, N, M;

    while(scanf("%d%d", &N, &M) != EOF)
    {
        node *head = new node();

        for(i=1; i<=N; i++)
        {
            scanf("%s%s", s, word[i]);
            HandleStr(s);
            head->pWord = word[i];
            BuildTrie(head, s);
        }

        getchar();

        s[0] = ' ';

        while(M--)
        {
            char p[MAXN]={0};

            gets(s+1);
            HandleStr(s);

            for(i=0; s[i] != '\0'; i++)
            {
                if(s[i] != ' ' && s[i-1]==' ')
                {
                    char str[107]={0};
                    sscanf(s+i, "%s", str);

                    QueryTrie(head, str);
                    strcat(p, head->pWord);
                }
            }

            for(i=0; i<NUM; i++)
            {
                if(strcmp(p, sentences[i]) == 0)
                    break;
            }

            if(i < NUM)
                printf("YES\n");
            else
                printf("NO\n");
        }

        free(head);
    }

    return 0;
}
View Code

 

posted @ 2015-08-20 08:26  无忧望月  阅读(232)  评论(0编辑  收藏  举报
levels of contents