7_8_A题 Article Decryption 题解[soj 3596](trie树)
2016-07-14 15:53
429 查看
题目链接
简单题意
给出几个单词和一个字母序列,问这个序列中最多有多少不重叠的单词思路
简单的计数,但是因为单词的查询会超时(其实并不会),所以应该要用trie树来进行对单词的查询,但实际上因为数据比较弱,所以也可以直接暴力查。。。代码
这是暴力的做法,trie树的做法之后再补上。#include <bits/stdc++.h> using namespace std; const int maxn = 1e3+5; const int mod = 835672545; char arr[maxn][maxn]; int main (){ int T; scanf("%d",&T); while(T--){ int n; scanf("%d",&n); for(int i = 0 ; i < n ; i ++){ scanf("%s", arr[i]); } char str[maxn]; scanf("%s",str); int len = strlen(str); int cnt[maxn]; memset(cnt,0,sizeof cnt); cnt[0] = 1; for(int i = 0 ; i <= len ; i ++){ for(int k = 0 ; k < n ; k ++){ bool flag = true; int le = strlen(arr[k]); if(i+le > len) continue; for(int j = 0 ; j < le ; j ++){ if(arr[k][j] != str[i+j]) { flag = false ; break; } } if(flag) cnt[i+le] = (cnt[i+le] + cnt[i]) %mod; } } printf("%d\n",cnt[len]); } }
相关文章推荐
- opengl 学习资料
- HDU 1548 A strange lift(简单BFS)
- Linux运维工程师入门须掌握的10个技术点
- 何为语法树
- Tomcat内存设置详解
- 《Motion Design for iOS》(三十五)
- PSAM卡、SAM卡、SIM卡
- 得到一个字符串最大无重复子串长度
- Bzoj3790:神奇项链:manacher+线段树+贪心
- 并查集(POJ1988)
- Android开发之WebView的使用
- Android Studio官方文档之添加多种密度的矢量图形
- 使用multi_compile编译Shader的多个版本
- 流媒体传输协议详解发布完成
- hibernate_validator_09
- [转]关于Android系统的”点九”
- iOS NSCoding 的学习 和 使用
- python django 数据库查询方法总结
- 解决打开文件夹,每次都在新的窗口中
- 进程间、线程间通信方式小结