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

#include <cstdio>
char s[60];
int n,m;
class Trie
{
	private:
		struct Node
		{
			bool end,vis;
			Node *c[26];
			Node(void):end(false),vis(false)
			{
				for(int i=0;i<26;++i)
					c[i]=nullptr;
			}
			~Node(void)
			{
				for(int i=0;i<26;++i)
					if(c[i]!=nullptr)
						delete c[i];
			}
		}*rt;
	public:
		Trie(void):rt(new Node){}
		~Trie(void)
		{
			delete rt;
		}
		void Insert(char* s)
		{
			Node *k=rt;
			for(int i=0,t;s[i];++i,k=k->c[t])
				if(k->c[t=s[i]-'a']==nullptr)
					k->c[t]=new Node;
			k->end=true;
		}
		const char* Search(char* s)
		{
			Node *k=rt;
			for(int i=0,t;s[i];++i,k=k->c[t])
				if(k->c[t=s[i]-'a']==nullptr)
					return "WRONG";
			if(!k->end)
				return "WRONG";
			if(k->vis)
				return "REPEAT";
			k->vis=true;
			return "OK";
		}
}*T=new Trie;
int main(int argc,char** argv)
{
	scanf("%d",&n);
	for(int i=1;i<=n;++i)
	{
		scanf("%s",s);
		T->Insert(s);
	}
	scanf("%d",&m);
	for(int i=1;i<=m;++i)
	{
		scanf("%s",s);
		puts(T->Search(s));
	}
	delete T;
	return 0;
}
谢谢阅读。
[Luogu 2580] 于是他错误的点名开始了的更多相关文章
- luogu  P2580 于是他错误的点名开始了
		
luogu P2580 于是他错误的点名开始了 https://www.luogu.org/problem/show?pid=2580 题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边 ...
 - 【luogu P2580 于是他错误的点名开始了】 题解
		
题目链接:https://www.luogu.org/problemnew/show/P2580 我真的永远都爱stl #include <map> #include <cstdio ...
 - Luogu P2580 于是他错误的点名开始了 Trie树 字典树
		
字典树裸题.每次插入询问串,查询的时候拿出来直接查,信息保留在节点上. #include <bits/stdc++.h> using namespace std; char s[51]; ...
 - LUOGU P2580 于是他错误的点名开始了(trie树)
		
传送门 解题思路 trie树模板
 - 于是他错误的点名开始了 [Trie]
		
于是他错误的点名开始了 题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉(详情请见已 ...
 - P2580 于是他错误的点名开始了(trie)
		
P2580 于是他错误的点名开始了 题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉 ...
 - 洛谷—— P2580 于是他错误的点名开始了
		
https://www.luogu.org/problem/show?pid=2580 题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次 ...
 - P2580 于是他错误的点名开始了
		
题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉(详情请见已结束比赛CON900). ...
 - 于是他错误的点名开始了(trie树)
		
题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉(详情请见已结束比赛CON900). ...
 
随机推荐
- 自测之Lesson13:共享内存
			
题目:创建一个64K的共享内存. 实现代码: #include <stdio.h> #include <sys/ipc.h> #include <sys/shm.h> ...
 - iOS- 网络请求的两种常用方式【GET & POST】的区别
			
GET和POST 网络请求的两种常用方式的实现[GET & POST] –GET的语义是获取指定URL上的资源 –将数据按照variable=value的形式,添加到action所指向的URL ...
 - iOS开发UUIView动画方法总结
			
#动画设置 UIView动画实现 @interface ViewController () @property (weak, nonatomic) IBOutlet UIView *myView; @ ...
 - nginx的平滑升级,不间断服务
			
nginx的平滑升级,不间断服务 Nginx更新真的很快,最近nginx的1.0.5稳定版,nginx的0.8.55和nginx的0.7.69旧的稳定版本已经发布.我一项比较喜欢使用新版本的软件, ...
 - 进程&线程间通信方式总结
			
一.进程间的通信方式 # 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用.进程的亲缘关系通常是指父子进程关系. # 有名管道 (namedpip ...
 - Apache Tomcat Nginx的区别和联系
			
一.定义 1. Apache Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上.其属于应用服务器.Apache支持支持模块多,性能稳定,Apache本身是静态 ...
 - 【bzoj2654】tree  二分+Kruscal
			
题目描述 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树.题目保证有解. 输入 第一行V,E,need分别表示点数,边数和需要的白色边数. 接下来E行,每 ...
 - 【bzoj4580】[Usaco2016 Open]248  区间dp
			
题目描述 Bessie likes downloading games to play on her cell phone, even though she does find the small t ...
 - 【bzoj3772】精神污染  STL+LCA+主席树
			
题目描述 兵库县位于日本列岛的中央位置,北临日本海,南面濑户内海直通太平洋,中央部位是森林和山地,与拥有关西机场的大阪府比邻而居,是关西地区面积最大的县,是集经济和文化于一体的一大地区,是日本西部门户 ...
 - Luogu1053 NOIP2005篝火晚会
			
首先造出所要求的得到的环.如果将位置一一对应上,答案就是不在所要求位置的人数.因为显然这是个下界,并且脑补一下能构造出方案达到这个下界. 剩下的问题是找到一种对应方案使错位数最少.可以暴力旋转这个环, ...