poj3630 Phone List
spy on一下,发现是trie裸题,结果一交就T...
然后把cin改成scanf就A了...
trie的空间一定要开足,要不然RE
#include <cstdio>
#include <string>
#include <iostream>
#include <cstring>
using namespace std;;
const int N = ;
char s[];
// poj 3630 Phone List
struct Trie {
int tr[N][];
int top;
bool ed[N];
Trie() {
top = ;
}
inline bool insert() {
int p = ; //cout << s << endl; for(int i = ; i < strlen(s) - ; i++) {
int f = s[i] - '';
if(ed[tr[p][f]]) {
return ;
}
if(!tr[p][f]) {
tr[p][f] = ++top;
}
p = tr[p][f];
}
int f = s[strlen(s) - ] - '';
if(tr[p][f]) return ;
tr[p][f] = ++top;
p = tr[p][f];
ed[p] = ;
return ;
}
void DFS(int p) {
for(int i = ; i <= ; i++) {
if(tr[p][i]) {
DFS(tr[p][i]);
tr[p][i] = ;
}
}
if(ed[p]) {
ed[p] = ;
}
return;
}
inline void clear() {
DFS();
return;
}
}trie; int main() {
int T;
scanf("%d", &T);
while(T--) {
trie.clear();
int n;
bool f = ;
scanf("%d", &n);
for(int i = ; i <= n; i++) {
scanf("%s", s);
if(f) {
f = trie.insert();
}
}
if(f) {
printf("YES\n");
}
else {
printf("NO\n");
}
} return ;
}
AC代码
poj3630 Phone List的更多相关文章
- POJ--1056 IMMEDIATE DECODABILITY && POJ--3630 Phone List(字典树)
题目链接 题目大意 看输入的每个字符串中是否有一个字符串是另一个字符串的前缀 #include<iostream> #include<cstring> #include< ...
- POJ1056 IMMEDIATE DECODABILITY & POJ3630 Phone List
题目来源:http://poj.org/problem?id=1056 http://poj.org/problem?id=3630 两题非常类似,所以在这里一并做了. 1056题目大意: 如果一 ...
- POJ3630/HDU-1671 Phone List,字典树静态建树!
Phone List POJ动态建树TLE了~~~ 题意:拨打某个电话时可能会因为和其他电话号码的前几位重复而导致错误,现在给出一张电话单,求是否有某个电话是其他电话的前缀.是则输出NO,否则输出YE ...
- Phone List POJ-3630 字典树 or 暴力
Phone List POJ-3630 字典树 or 暴力 题意 目前有 t 组数据, n 个电话号码,如果拨打号码的时候 先拨通了某个号码,那么这一串号码就无法全部拨通. 举个例子 911 和 91 ...
- HihoCoder第二周与POJ3630:Trie树的建立
这又是两道一样的题,都是建立trie树的过程. HihoCoder第二周: 这里其实逻辑都很简单,主要在于数据结构struct的使用. #include <iostream> #inclu ...
- hdu杭电1671 / poj3630 字典树
传送门 题意:输入n串数字 找出是否有存在串的前缀与另一个串相同 如果存在 输出NO否则输出YES 思路:用字典树解决 标记字典树总串的结尾 查找出一个串内部是否有被标记的节点 如果有那么说明存在前缀 ...
- POJ3630——简单Trie树
这个题的意思是说,给出一些字符串,判断是否有字符串是另一个字符串的前缀,当然可以用排序水过,不过这个题拿来练习一下Trie树不错. 这个题在poj的discuss上好多人说必须要静态建树,估计都是用了 ...
- [POJ3630]Phone List (Tire)
题意 trie字典树模板 LOJ有中文翻译https://loj.ac/problem/10049 思路 TIRE 代码 之前在LOJ上做过 直接交了 #include<cstdio> # ...
- POJ3630
Tire树裸题,一开始写动态的字典树,然后TLE,每次new一个新节点耗费时间较多.后来改成数组模拟的. //#include <bits/stdc++.h> #include <c ...
随机推荐
- CSS3 background-size属性兼容
background-size是CSS3新增的属性,但是IE8以下还是不支持 background-size:contain; // 缩小图片来适应元素的尺寸(保持像素的长宽比):background ...
- scala flatmap、reduceByKey、groupByKey
1.test.txt文件中存放 asd sd fd gf g dkf dfd dfml dlf dff gfl pkdfp dlofkp // 创建一个Scala版本的Spark Context va ...
- MyCat数据库中间件 - 分库
MyCat MyCat用于解耦分布式数据库与java,比如分库分表以后,需要查询某条数据时,需要java根据需要查的数据先计算去哪个库查,然而有了Mycat就不用自己计算怎么存储,怎么查询了.MyCa ...
- python之路--JavaScript
一. JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,希望这门语言能成为国际化标准,于是决定将Jav ...
- 莫烦theano学习自修第一天【常量和矩阵的运算】
1. 代码实现如下: #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ # 导入numpy模块,因为numpy是常用的计算模块 import numpy as ...
- Java HashMap的put操作(Java1.6)
https://www.cnblogs.com/skywang12345/p/3310835.html // 存储数据的Entry数组,长度是2的幂. // HashMap是采用拉链法实现的,每一个E ...
- tornado.gen.coroutine-协程
http://blog.csdn.net/seeground/article/details/49488281
- Eclipse配置C++时的三个关键环境变量
ECLIPSE下载很简单,然后装上MinGW,安装就完成了,关键是要配置三个环境变量 include——C:\MinGW\include lib——C:\MinGW\lib path——C:\MinG ...
- How to create ISO on macOS
hdiutil makehybrid -iso -joliet -o test1.iso /users/test/test1
- 行为驱动开发(BDD) - 深入了解
行为驱动开发(BDD) - 一个快速的描述和示例 BDD表示乙 ehavior ð里文ð才有发展.用于描述行为的语法是Gherkin. 这个想法是尽可能自然地描述一种语言应该发生什么. 如果你熟悉单元 ...