POJ 3746 Teacher YYF (打表)
来源:互联网 发布:淘宝买家退货率高后果 编辑:程序博客网 时间:2024/06/05 04:48
题意:
给定英语语法的句法,问所给句子是否符合这些句法
1.只有SI SIO两种句子结构
2.名词前面必须有冠词
3.形容词修饰名词必须放在冠词和名词中间
4.副词修饰动词放在前面
5.介词短语可以放在任何位置
6.介词短语由介词+名词/代词构成,一句只能有一个介词短语
7.任意两个语法成分间不能交叉
8.S O只能由名词或代词担任
9.v既可以及物也可以不及物
分析:
把所有可能搜出来,打个表,然后就处理字符串,map搞下就好啦
表是我从discuss里扒的 QAQ
分析:
//// Created by TaoSama on 2015-11-03// Copyright (c) 2015 TaoSama. All rights reserved.////#pragma comment(linker, "/STACK:1024000000,1024000000")#include <algorithm>#include <cctype>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include <iomanip>#include <iostream>#include <map>#include <queue>#include <string>#include <set>#include <vector>using namespace std;#define pr(x) cout << #x << " = " << x << " "#define prln(x) cout << #x << " = " << x << endlconst int N = 1e5 + 10, INF = 0x3f3f3f3f, MOD = 1e9 + 7;const char *sentences[408] = { "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.", "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.", "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.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.", "pron.v.prep.pron.", "pron.v.prep.art.n.", "pron.vi.prep.pron.", "pron.vi.prep.art.n.", "pron.adv.v.prep.pron.", "pron.adv.v.prep.art.n.", "pron.adv.vi.prep.pron.", "pron.adv.vi.prep.art.n.", "art.n.v.prep.pron.", "art.n.v.prep.art.n.", "art.n.vi.prep.pron.", "art.n.vi.prep.art.n.", "art.n.adv.v.prep.pron.", "art.n.adv.v.prep.art.n.", "art.n.adv.vi.prep.pron.", "art.n.adv.vi.prep.art.n.", "art.adj.n.v.prep.pron.", "art.adj.n.v.prep.art.n.", "art.adj.n.vi.prep.pron.", "art.adj.n.vi.prep.art.n.", "art.adj.n.adv.v.prep.pron.", "art.adj.n.adv.v.prep.art.n.", "art.adj.n.adv.vi.prep.pron.", "art.adj.n.adv.vi.prep.art.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.", "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.", "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.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.", "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.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.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.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.", "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.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.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.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.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.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.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.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.", "pron.v.pron.prep.pron.", "pron.v.pron.prep.art.n.", "pron.v.art.n.prep.pron.", "pron.v.art.n.prep.art.n.", "pron.v.art.adj.n.prep.pron.", "pron.v.art.adj.n.prep.art.n.", "pron.vt.pron.prep.pron.", "pron.vt.pron.prep.art.n.", "pron.vt.art.n.prep.pron.", "pron.vt.art.n.prep.art.n.", "pron.vt.art.adj.n.prep.pron.", "pron.vt.art.adj.n.prep.art.n.", "pron.adv.v.pron.prep.pron.", "pron.adv.v.pron.prep.art.n.", "pron.adv.v.art.n.prep.pron.", "pron.adv.v.art.n.prep.art.n.", "pron.adv.v.art.adj.n.prep.pron.", "pron.adv.v.art.adj.n.prep.art.n.", "pron.adv.vt.pron.prep.pron.", "pron.adv.vt.pron.prep.art.n.", "pron.adv.vt.art.n.prep.pron.", "pron.adv.vt.art.n.prep.art.n.", "pron.adv.vt.art.adj.n.prep.pron.", "pron.adv.vt.art.adj.n.prep.art.n.", "art.n.v.pron.prep.pron.", "art.n.v.pron.prep.art.n.", "art.n.v.art.n.prep.pron.", "art.n.v.art.n.prep.art.n.", "art.n.v.art.adj.n.prep.pron.", "art.n.v.art.adj.n.prep.art.n.", "art.n.vt.pron.prep.pron.", "art.n.vt.pron.prep.art.n.", "art.n.vt.art.n.prep.pron.", "art.n.vt.art.n.prep.art.n.", "art.n.vt.art.adj.n.prep.pron.", "art.n.vt.art.adj.n.prep.art.n.", "art.n.adv.v.pron.prep.pron.", "art.n.adv.v.pron.prep.art.n.", "art.n.adv.v.art.n.prep.pron.", "art.n.adv.v.art.n.prep.art.n.", "art.n.adv.v.art.adj.n.prep.pron.", "art.n.adv.v.art.adj.n.prep.art.n.", "art.n.adv.vt.pron.prep.pron.", "art.n.adv.vt.pron.prep.art.n.", "art.n.adv.vt.art.n.prep.pron.", "art.n.adv.vt.art.n.prep.art.n.", "art.n.adv.vt.art.adj.n.prep.pron.", "art.n.adv.vt.art.adj.n.prep.art.n.", "art.adj.n.v.pron.prep.pron.", "art.adj.n.v.pron.prep.art.n.", "art.adj.n.v.art.n.prep.pron.", "art.adj.n.v.art.n.prep.art.n.", "art.adj.n.v.art.adj.n.prep.pron.", "art.adj.n.v.art.adj.n.prep.art.n.", "art.adj.n.vt.pron.prep.pron.", "art.adj.n.vt.pron.prep.art.n.", "art.adj.n.vt.art.n.prep.pron.", "art.adj.n.vt.art.n.prep.art.n.", "art.adj.n.vt.art.adj.n.prep.pron.", "art.adj.n.vt.art.adj.n.prep.art.n.", "art.adj.n.adv.v.pron.prep.pron.", "art.adj.n.adv.v.pron.prep.art.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.adj.n.prep.pron.", "art.adj.n.adv.v.art.adj.n.prep.art.n.", "art.adj.n.adv.vt.pron.prep.pron.", "art.adj.n.adv.vt.pron.prep.art.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.adj.n.prep.pron.", "art.adj.n.adv.vt.art.adj.n.prep.art.n.",};/*<sentence>::= <S><I> | <S><T><O> | <P><S><I> | <S><P><I> | <S><I><P> | <P><S><T><O> | <S><P><T><O> | <S><T><P><O> | <S><T><O><P> <S>::= pron. | art.n. | art.adj.n. <I>::= v. | adv.v. | vi. | adv.vi. <T>::= v. | adv.v. | vt. | adv.vt. <O>::= pron. | art.n. | art.adj.n. <P>::= prep.pron. | prep.art.n. | (prep.art.adj.n.) //这个不合法 但是数据里没有*/int n, m;char a[1005], b[1005];void normalize(char *s) { for(int i = 0; s[i]; ++i) if(isalpha(s[i])) s[i] = tolower(s[i]);}set<string> ok;map<string, string> mp;int main() {#ifdef LOCAL freopen("C:\\Users\\TaoSama\\Desktop\\in.txt", "r", stdin);// freopen("C:\\Users\\TaoSama\\Desktop\\out.txt","w",stdout);#endif ios_base::sync_with_stdio(0); for(int i = 0; i < 408; ++i) ok.insert(sentences[i]); while(scanf("%d%d", &n, &m) == 2) { mp.clear(); for(int i = 1; i <= n; ++i) { scanf("%s%s", a, b); normalize(a); normalize(b); mp[string(a)] = string(b); } getchar(); for(int i = 1; i <= m; ++i) { gets(a); string cur; int c = 0; char buf[1005]; for(int j = 0; a[j]; ++j) { if(isalpha(a[j])) { a[j] = tolower(a[j]); buf[c++] = a[j]; } else { buf[c] = 0; cur += mp[string(buf)]; c = 0; } } if(c) {buf[c] = 0; cur += mp[string(buf)];} puts(ok.count(cur) ? "YES" : "NO"); } } return 0;}/*At the happy airport,He see a happy baby.At the airport,He see a happy baby see.he see see a baby.a baby at the airport see he.a baby see at the airport heNONONOYESYESYES*/
0 0
- POJ 3746 Teacher YYF (打表)
- POJ 3746 Teacher YYF(恶心+打表)
- poj 3746——Teacher YYF
- POJ 3744 Scout YYF
- poj-Scout YYF I
- Scout YYF I POJ
- Scout YYF I POJ
- poj 3292 (打表)
- poj 3744 Scout YYF I(矩阵优化概率)
- poj 3744 Scout YYF I(矩阵优化概率DP)
- 【POJ】3744 Scout YYF I (概率DP+矩阵优化)
- POJ 3744 Scout YYF I (概率dp+矩阵优化)
- POJ 3744 Scout YYF 1(概率递推)
- POJ 3744 Scout YYF(概率DP+矩阵快速幂)
- POJ 3744 Scout YYF I(概率DP)
- POJ 3744 Scout YYF I (矩阵相乘+概率DP)
- POJ 3744 Scout YYF I(概率Dp)
- poj 3744 Scout YYF I
- C语言/函数指针
- 【LEETCODE】96-Unique Binary Search Trees
- sql cookbook 笔录(一)
- Android中的OptionsMenu,ContextMenu,pupMenu例子
- 求i<j<p<q w[i]×w[p]=w[j]×w[q]总数 STL map SRM 671 div1 500: BearDarts
- POJ 3746 Teacher YYF (打表)
- UIImageView不能设置圆角的解决方法
- Add Binary
- 在Maven中新增自定的jar包
- 解决confluence的乱码问题
- Hadoop---安装thrift
- mongodb mongod 启动参数
- linxu配置网卡
- IOS自学之UIview属性