#10049. 「一本通 2.3 例 1」Phone List(trie树应用)
POJ3630:
给定 个长度不超过 的数字串,问其中是否存在两个数字串 ,使得 是 的前缀,多组数据.
输入格式
第一行一个整数 ,表示数据组数。
对于每组数据,第一行一个数 ,接下来 行输入 个数字串。
输出格式
对于每组数据,若存在两个数字串 ,,使得 是 的前缀,则输出 NO ,否则输出 YES 。
请注意此处结果与输出的对应关系!
#include<bits/stdc++.h>
using namespace std;
const int maxn=200005;
struct node{int nxt[13];int id;
}tree[maxn];
int cnt;
char s[10005][15];
int n;
int f;
void Insert(char str[15],int id)
{int len=strlen(str);int p=0;for(int i=0;i<len;i++){int x=str[i]-'0';if(tree[p].nxt[x]==0){tree[p].nxt[x]=(++cnt);}if(tree[p].id!=0&&tree[p].id!=id){f=0;}p=tree[p].nxt[x];}tree[p].id=id;
}
int main()
{int T;scanf("%d",&T);while(T--){scanf("%d",&n);memset(tree,0,sizeof(tree));f=1;cnt=0;for(int i=1;i<=n;i++){scanf("%s",s[i]);Insert(s[i],i);}if(f==0){printf("NO\n");continue;}for(int i=1;i<=n;i++){Insert(s[i],i);if(f==0){break;}}if(!f){printf("NO\n");}else{printf("YES\n");}}return 0;
}
#10049. 「一本通 2.3 例 1」Phone List(trie树应用)相关推荐
- #10049. 「一本通 2.3 例 1」Phone List
给定 个长度不超过 的数字串,问其中是否存在两个数字串 ,使得 是 的前缀,多组数据. 输入格式 第一行一个整数 ,表示数据组数. 对于每组数据,第一行一个数 ,接下来 行输入 个数字串. 输出格式 ...
- Loj 10115 「一本通 4.1 例 3」校门外的树 (树状数组)
题目链接:https://loj.ac/problem/10115 题目描述 原题来自:Vijos P1448 校门外有很多树,学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的 ...
- 「一本通 4.1 例 3」校门外的树 (loj10115)
题目描述 原题来自:Vijos P1448 校门外有很多树,学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两种操作: K=1,读入 l,r表示在 l 到 r 之间种上 ...
- #10115. 「一本通 4.1 例 3」校门外的树
描述 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的-- 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作: K=1,K=1,读入l. ...
- 树状数组(二)——#10115. 「一本通 4.1 例 3」校门外的树
题目链接:https://loj.ac/problem/10115 解题思路 一开始误会了重复种树的意思,以为是线段树染色QAQ,后来知道了重复种树是指该位置可以种无限棵树,用树状数组就能解决.我们用 ...
- 【C++】「一本通 1.1 例 4」加工生产调度
「一本通 1.1 例 4」加工生产调度 [来源] [题目描述] [输入格式] [输出格式] [输入样例] [输出样例] [数据范围] [解析] [代码] [来源] 一本通题库-1425 LibreOJ ...
- LibreOJ10082. 「一本通 3.3 例 1」Word Rings【二分+SPFA】
10082. 「一本通 3.3 例 1」Word Rings [题目描述] 传送门 [题解] 将一个字符串看成一条边,字符两端的字符看成节点,长度看成权值.二分枚举答案,最后SPFA刷正环,因为只要有 ...
- 【C++】「一本通 1.1 例 2」种树
「一本通 1.1 例 2」种树 [来源] [题目描述] [输入格式] [输出格式] [输入样例] [输出样例] [解析] [代码] [来源] 一本通题库-1423 LibreOJ-10001 vjud ...
- #10001. 「一本通 1.1 例 2」种树
#10001. 「一本通 1.1 例 2」种树 满足n个区间种树的要求,求最少种多少棵数 思路 按照区间的尾巴来排序,因为如果区间有重叠的种在第一个区间的尾巴可以使得种树更少,所有每次始从尾巴开始种树 ...
最新文章
- 通过异或运算符加密解密 难度二星
- 计算机基础知识教案总结,计算机基础知识教学设计
- 想实现高德/百度示例中 源代码编辑器+效果预览
- laravel中使用的PDF扩展包——laravel-dompdf和laravel-snappy
- Java设计模式----策略模式(Strategy)
- 计算机cnc键代表啥,计算器上的cnc键表示啥
- MacOS Docker版本FastDFS安装指南
- centos---centos配置svn
- 全国高校计算机能力挑战赛真题(二)
- 卡诺模型案例分析_质量管理神器,Kano模型您可知道?
- 风险预测模型_【期刊导读】长期NA治疗的慢乙肝患者也有专属肝癌风险预测模型...
- 再论《IT人员应聘建议》
- IE无法执行JavaScript解决办法
- 375.猜数字大小II
- matlab求出拟合曲线的方程,已知数据点,拟合曲线并得到曲线方程。谢谢
- MATLAB 2017b 安装教程,这一篇文章就够了。强烈推荐!!!!!
- 网络安全等级保护二级产品清单整理
- 【龙印】以程序员的角度整定3d打印机的pid实现控温
- Win10 分页缓冲池 过大
- h2o api java_h2o 准备