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
原创粉丝点击