【POJ】1204 Word Puzzles
这道题目各种wa。首先是错了一个坐标,居然没测出来。然后是剪枝错误。搜索pen时就返回,可能还存在串pen*。
#include <cstdio>
#include <cstring>
#include <cstdlib> #define MAXN 1005 typedef struct Trie {
int v;
Trie *next[];
Trie() {
v = ;
for (int i=; i<; ++i)
next[i] = NULL;
}
} Trie; Trie root;
int direct[][] = {{-,},{-,},{,},{,},{,},{,-},{,-},{-,-}};
char map[MAXN][MAXN], buf[MAXN];
int ans[MAXN][], n, m, xx, yy;
bool visit[MAXN]; void create(char str[], int in) {
int i = , id;
Trie *p = &root, *q; while (str[i]) {
id = str[i] - 'A';
++i;
if (p->next[id] == NULL) {
q = new Trie();
p->next[id] = q;
}
p = p->next[id];
}
p->v = in;
} void find(Trie *t, int x, int y, int k) {
if (t == NULL)
return ; if (t->v && !visit[t->v]) {
visit[t->v] = true;
ans[t->v][] = xx;
ans[t->v][] = yy;
ans[t->v][] = k;
}
if (x< || x>=n || y< || y>=m)
return ;
find(t->next[map[x][y]-'A'], x+direct[k][], y+direct[k][], k);
} void search() {
int k; memset(visit, false, sizeof(visit)); for (xx=; xx<n; ++xx)
for (yy=; yy<m; ++yy)
for (k=; k<; ++k)
find(&root, xx, yy, k);
} int main() {
int w;
int i; scanf("%d%d%d",&n,&m,&w); for (i=; i<n; ++i)
scanf("%s", map[i]); for (i=; i<=w; ++i) {
scanf("%s", buf);
create(buf, i);
}
search();
for (i=; i<=w; ++i)
printf("%d %d %c\n", ans[i][], ans[i][], ans[i][]+'A'); return ;
}
【POJ】1204 Word Puzzles的更多相关文章
- POJ 题目1204 Word Puzzles(AC自己主动机,多个方向查询)
Word Puzzles Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 10244 Accepted: 3864 S ...
- 【POJ】1704 Georgia and Bob(Staircase Nim)
Description Georgia and Bob decide to play a self-invented game. They draw a row of grids on paper, ...
- 【POJ】1067 取石子游戏(博弈论)
Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后 ...
- 【LeetCode】Longest Word in Dictionary through Deleting 解题报告
[LeetCode]Longest Word in Dictionary through Deleting 解题报告 标签(空格分隔): LeetCode 题目地址:https://leetcode. ...
- 【 POJ - 1204 Word Puzzles】(Trie+爆搜|AC自动机)
Word Puzzles Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 10782 Accepted: 4076 Special ...
- [POJ 1204]Word Puzzles(Trie树暴搜&AC自己主动机)
Description Word puzzles are usually simple and very entertaining for all ages. They are so entertai ...
- 【BZOJ】【1986】【USACO 2004 Dec】/【POJ】【2373】划区灌溉
DP/单调队列优化 首先不考虑奶牛的喜欢区间,dp方程当然是比较显然的:$ f[i]=min(f[k])+1,i-2*b \leq k \leq i-2*a $ 当然这里的$i$和$k$都是偶数啦~ ...
- 【POJ】【2104】区间第K大
可持久化线段树 可持久化线段树是一种神奇的数据结构,它跟我们原来常用的线段树不同,它每次更新是不更改原来数据的,而是新开节点,维护它的历史版本,实现“可持久化”.(当然视情况也会有需要修改的时候) 可 ...
- 【POJ】1222 EXTENDED LIGHTS OUT
[算法]高斯消元 [题解] 高斯消元经典题型:异或方程组 poj 1222 高斯消元详解 异或相当于相加后mod2 异或方程组就是把加减消元全部改为异或. 异或性质:00 11为假,01 10为真.与 ...
随机推荐
- tcp-backlog配置
redis tcp-backlog配置 在redis2.8版本中有一个tcp-backlog配置, 说明如下: # TCP listen() backlog.## In high requests ...
- Python 记录(一)
一开始没发现3.5与2.x版本的区别,导致浪费了很多时间在导包等问题上: 如: Pyhton2中的urllib2工具包,在Python3中分拆成了urllib.request和urllib.error ...
- PHP利用超级全局变量$_GET来接收表单数据。
我们在linux上用 touch php_get.html php_get.php创建两个文件. php_get.html文件的代码如下: <!doctype html> <html ...
- CakePHP之控制器
控制器 控制器是MVC中的“C”. 如果你的网站使用Cake框架制作,一般根据url地址和通过路由,就会找到正确的控制器,然后控制器的动作就会被调用. 一个控制器需要解释请求数据.确保使用正确的模型. ...
- redhat6.4 配置centos6 yum替换
1.卸载掉系统redhat自带的yum rpm -qa |grep yum |xargs rpm -e --nodeps 2 下载相关的centos yum插件 主要有python-inipa ...
- iOS里面消除使用代理调用方法时间警告问题
iOS里面有三种调用函数的方式: 直接调用方法 [对象名 方法]; performselector: [对象名 perform方法]; NSInvocation 调用 在使用代理调用 ...
- 【模板】【网络流】Dinic
/* 唐代杜荀鹤 <小松> 自小刺头深草里,而今渐觉出蓬蒿. 时人不识凌云木,直待凌云始道高. */ #include <iostream> #include <cstd ...
- Ubuntu14.04+CUDA6.5环境下神经网络工具包Deepnet配置
deepnet是多伦多大学计算机系机器学习组开发的一个神经网络工具包,可以进行以下计算: 1. Feed-forward Neural Nets 2. Restricted Boltzmann M ...
- chrome调试状态下动态加载的js
在js文件中加入 //@ sourceURL=文件名.js
- 个人工作记录---工作中遇到的sql查询语句解析
在工作中写了人生的第一个查询语句,虽然是在原有基础上改的,但仍然学到了不少知识 代码: select distinct m.id, (select z.jianc from model_zuzjg z ...