hdu 1298 T9
字典树+DFS。
#include<cstdio>
#include<cstring>
#include<cmath>
#include<string>
#include<algorithm>
using namespace std; struct shu{ int value, nn[]; }node[];
int n, q, i, ii, v, zz, tott, anss, tt, ttt;
const int INF = 0x7FFFFFFF;
char s[], sc[], vc[], ljb[][]; void ljbb()
{
ljb[][] = ; ljb[][] = 'a'; ljb[][] = 'b'; ljb[][] = 'c';
ljb[][] = ; ljb[][] = 'd'; ljb[][] = 'e'; ljb[][] = 'f';
ljb[][] = ; ljb[][] = 'g'; ljb[][] = 'h'; ljb[][] = 'i';
ljb[][] = ; ljb[][] = 'j'; ljb[][] = 'k'; ljb[][] = 'l';
ljb[][] = ; ljb[][] = 'm'; ljb[][] = 'n'; ljb[][] = 'o';
ljb[][] = ; ljb[][] = 'p'; ljb[][] = 'q'; ljb[][] = 'r'; ljb[][] = 's';
ljb[][] = ; ljb[][] = 't'; ljb[][] = 'u'; ljb[][] = 'v';
ljb[][] = ; ljb[][] = 'w'; ljb[][] = 'x'; ljb[][] = 'y'; ljb[][] = 'z';
} void dfs(int ff, int zzz, int gl)
{
int i;
if (ff == ttt)
{
if (node[zzz].value > anss)
{
anss = node[zzz].value;
sc[gl] = '\0';
strcpy(vc, sc);
}
return;
}
if (s[ff] == '') dfs(ff + , zzz, gl);
for (i = ; i <= ljb[s[ff] - ''][]; i++)
{
if (node[zzz].nn[ljb[s[ff] - ''][i] - 'a'] != -)
{
sc[gl] = ljb[s[ff] - ''][i];
dfs(ff + , node[zzz].nn[ljb[s[ff] - ''][i] - 'a'], gl + );
}
}
} int main()
{
ljbb();
int sb, bs;
scanf("%d", &sb);
for (bs = ; bs <= sb; bs++)
{ scanf("%d", &n);
for (i = ; i <= ; i++)
{
node[i].value = ;
memset(node[i].nn, -, sizeof(node[i].nn));
}
tott = ;
for (ii = ; ii < n; ii++)
{
scanf("%s%d", s, &v);
zz = ;
for (i = ; s[i]; i++)
{
if (node[zz].nn[s[i] - 'a'] == -)
{
node[zz].nn[s[i] - 'a'] = tott;
tott++;
}
zz = node[zz].nn[s[i] - 'a'];
node[zz].value += v;
}
}
scanf("%d", &q);
printf("Scenario #%d:\n", bs);
for (ii = ; ii < q; ii++)
{
scanf("%s", s);
tt = strlen(s);
for (i = ; i < tt; i++)
{
anss = -INF;
ttt = i;
dfs(, , );
if (anss == -INF) printf("MANUALLY\n");
else printf("%s\n", vc);
}
printf("\n");
}
printf("\n");
}
return ;
}
hdu 1298 T9的更多相关文章
- hdu 1298 T9(特里+DFS)
pid=1298" target="_blank" style="">题目连接:hdu 1298 T9 题目大意:模拟手机打字的猜想功能.依据概 ...
- HDU 1298 T9【字典树增加||查询】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=1298 T9 Time Limit: 2000/1000 MS (Java/Others) Memo ...
- HDU 1298 T9(字典树+dfs)
http://acm.hdu.edu.cn/showproblem.php?pid=1298 题意:模拟手机9键,给出每个单词的使用频率.现在给出按键的顺序,问每次按键后首字是什么(也就是要概率最大的 ...
- HDU 1298 T9 ( 字典树 )
题意 : 给你 w 个单词以及他们的频率,现在给出模拟 9 键打字的一串数字,要你在其模拟打字的过程中给出不同长度的提示词,出现的提示词应当是之前频率最高的,当然提示词不需要完整的,也可以是 w 个单 ...
- HDU 1298 T9 字典树+DFS
必须要批评下自己了,首先就是这个题目的迟疑不定,去年做字典树的时候就碰到这个题目了,当时没什么好的想法,就暂时搁置了,其实想法应该有很多,只是居然没想到. 同样都是对单词进行建树,并插入可能值,但是拨 ...
- hdu 1298 字典树 + DFS (模拟T9文本输入)
题意: 给你一些按键顺序,让你输出每一步中概率最大的那个单词,这里的概率计算方 法好好看看别弄错了,一开始就是因为弄错了,各种wa,比如 abc 1 ,ab 1,那么 ab 的概率就是2 ...
- HDU——PKU题目分类
HDU 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 ...
- [转] HDU 题目分类
转载来自:http://www.cppblog.com/acronix/archive/2010/09/24/127536.aspx 分类一: 基础题:1000.1001.1004.1005.1008 ...
- 数据结构:HDU 2993 MAX Average Problem
MAX Average Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
随机推荐
- 从0到1一步步搭建代码质量检测系统~iOS
演示环境:Mac OSX10.12.2 Xcode8 先瞄一眼最终成果- 1.JDK,DBMS(演示环境使用Mysql) 2.创建sonar数据库和用户 mysql -u root -pCREATE ...
- 用php 进行对文件的操作 (上)
如何让自己磁盘中的文件夹和目录显示在网页上?那就来看一下,用php是怎么来操作他们的吧 php中文件,一般包含两块内容,文件和目录 先来一句一句的看代码,及他的作用 运行后看一下结果 file 指的是 ...
- [ios2] ios7UI适配 【转】
http://blog.csdn.net/toss156/article/details/11843873#comments (1)如果应用程序始终隐藏 status bar 那么恭喜呢,你在UI上需 ...
- 人机ai五子棋 ——五子棋AI算法之Java实现
人机ai五子棋 下载:chess.jar (可直接运行) 源码:https://github.com/xcr1234/chess 其实机器博弈最重要的就是打分,分数也就是权重,把棋子下到分数大的地方, ...
- CodeForces 415D Mashmokh and ACM
$dp$. 记$dp[i][j]$表示已经放了$i$个数字,并且第$i$个数字放了$j$的方案数.那么$dp[i][j] = \sum\limits_{k|j}^{} {dp[i - 1][k]}$ ...
- python-微博模拟登陆
微博的的模拟登陆是比较坑的,看了网上很多大神的帖子,自己又看了微博的登陆时的json数据:1.发现登陆时在输入账号时用chrome可以看到会有一个prelogin之类的网址,网址后面会有大串的随机数. ...
- npoi导入--从varchar数据类型到datetime数据类型转换产生一个超出范围的值问题
一,导入问题如图: 二,解决方法和原因: 1,经过调试发现导入获取到的日期数据被装换成1/1/10 0:00,如下图: 而将以上的数据插入数据库类型为datatime的列时会报错 2,经过去了解npo ...
- sublime 2中Package control安装和使用
安装: 安装时,如果想查看安装进度,可打开console(View->Show Console) 安装Package control有两中方法: 方法1:通过代码安装 import urllib ...
- 【AndroidStudio】关于SVN的相关配置简介
AndroidStudio 的SVN 安装和使用方法与我以前用的其他IDE 都有很大差别,感觉特麻烦,网上相关资料很少,貌似现在 Git 比较流行,之前有用过 github 但是他只能是开源项目免费, ...
- CodeForces 710C Magic Odd Square
构造. 先只考虑用$0$和$1$构造矩阵. $n=1$,$\left[ 1 \right]$. $n=3$,(在$n=1$的基础上,最外一圈依次标上$0$,$1$,$0$,$1$......) $\l ...