模板题

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
struct Node{
int cnt, son[29];
bool hav;
Node(){
cnt = hav = 0;
}
}trie[500005];
int c, n, m, len;
char s[55];
void ins(){
int u=0;
for(int i=0; i<len; i++){
int v=s[i]-'a';
if(!trie[u].son[v]) trie[u].son[v] = ++c;
u = trie[u].son[v];
}
trie[u].hav = true;
}
int que(){
int u=0;
for(int i=0; i<len; i++){
int v=s[i]-'a';
if(!trie[u].son[v]) return 3;
u = trie[u].son[v];
}
if(!trie[u].hav) return 3;
if(!trie[u].cnt){
trie[u].cnt++;
return 1;
}
return 2;
}
int main(){
cin>>n;
for(int i=1; i<=n; i++){
scanf("%s", s);
len = strlen(s);
ins();
}
cin>>m;
for(int i=1; i<=m; i++){
scanf("%s", s);
len = strlen(s);
int t=que();
if(t==1) printf("OK\n");
else if(t==2) printf("REPEAT\n");
else printf("WRONG\n");
}
return 0;
}

luogu2580 于是他错误的点名开始了 Trie树的更多相关文章

  1. Luogu P2580 于是他错误的点名开始了 Trie树 字典树

    字典树裸题.每次插入询问串,查询的时候拿出来直接查,信息保留在节点上. #include <bits/stdc++.h> using namespace std; char s[51]; ...

  2. 于是他错误的点名开始了 [Trie]

    于是他错误的点名开始了 题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉(详情请见已 ...

  3. P2580 于是他错误的点名开始了(trie)

    P2580 于是他错误的点名开始了 题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉 ...

  4. Luogu2580 于是他错误的点名开始了 (Trie树)

    复习\(Trie\),忘了用\(val[]\)表示每个节点权值,用\(vis[]\)水过了 #include <iostream> #include <cstdio> #inc ...

  5. luoguP2580 于是他错误的点名开始了 [Trie]

    题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉(详情请见已结束比赛CON900). ...

  6. luogu P2580 于是他错误的点名开始了

    luogu  P2580 于是他错误的点名开始了 https://www.luogu.org/problem/show?pid=2580 题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边 ...

  7. [Luogu 2580] 于是他错误的点名开始了

    [Luogu 2580] 于是他错误的点名开始了 不用好奇我为什么突然发水题题解- 突然觉得自己当年的幼儿园码风太幼稚,就试图把数据结构什么的用指针重写一遍- 想当年因为空间开太大而全 RE,调了一下 ...

  8. 于是他错误的点名开始了(trie树)

    题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉(详情请见已结束比赛CON900). ...

  9. 洛谷 P2580 于是他错误的点名开始了

    题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉(详情请见已结束比赛CON900). ...

随机推荐

  1. JAVA变量介绍

    1.变量: 变量是内存中存储数据的小盒子(小容器),用来存数据和取数据: 2.计算机存储设备的最小信息单元叫位(bit   b); 计算机最小的存储单元叫字节(byte B);   存储单位有(bit ...

  2. Mybatis find_in_set 子查询,替代 in

    1. Mapper文件 2.dao层 3.生成Sql

  3. LoadRunner使用(1)

    一.LoadRunner脚本录制 LoadRunner测试分为两个步骤: 第一步:录制脚本,其实就是监控并记录这段时间发送的HTTP请求 第二步:启动多个线程,用录制的脚本,模拟多线程发送请求. (1 ...

  4. 一款新型的EASY饼图数据统计Jquery插件

    http://www.oschina.net/code/snippet_197014_12865   http://www.cnblogs.com/ada-zheng/p/3760947.html - ...

  5. OpenGL小试牛刀第二季(粒子模拟)

    效果截图:粒子模拟代码展示:#include "Particle.h" /** 构造函数 */CParticle::CParticle(){ data = NULL; numpar ...

  6. [神经网络]一步一步使用Mobile-Net完成视觉识别(五)

    1.环境配置 2.数据集获取 3.训练集获取 4.训练 5.调用测试训练结果 6.代码讲解 本文是第五篇,讲解如何调用测试训练结果. 上一篇中我们输出了训练的模型,这一篇中我们通过调用训练好的模型来完 ...

  7. 【转】学习apicloud和IOS之间的模块化使用

    最近公司有使用APICloud发开的需求,需要我这边提供一些模块包得封装.因为没有也是刚接触APICloud,所以也就在看官方文档 .下面讲一讲我再使用过程中得一点点东西. 首先,下载官方SDK,下载 ...

  8. 脚手架创建一个React项目

    一.安装 1.安装node.js 官网地址 https://nodejs.org/en/ 进入后点击下载,官方网站会根据你的系统类型推荐最适合你安装的版本.(如果已经安装了node.js跳过此步)如下 ...

  9. 在Vue将第三方JS库封装为组件使用

    第三方JS库地址:https://github.com/inorganik/CountUp.js 使用NPM进行安装: npm install --save countup 根据官方回答,CountU ...

  10. -安装与配置 FTP 服务器

    我们经常会使用 FTP,把本地电脑上的文件上传到服务器上,或者把服务器上的文件下载到自己的电脑里面.FTP 有服务端和客户端,FTP 的服务端提供了这种传输文件的服务,FTP 的客户端提供了传输文件的 ...