字典树+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的更多相关文章

  1. hdu 1298 T9(特里+DFS)

    pid=1298" target="_blank" style="">题目连接:hdu 1298 T9 题目大意:模拟手机打字的猜想功能.依据概 ...

  2. HDU 1298 T9【字典树增加||查询】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=1298 T9 Time Limit: 2000/1000 MS (Java/Others)    Memo ...

  3. HDU 1298 T9(字典树+dfs)

    http://acm.hdu.edu.cn/showproblem.php?pid=1298 题意:模拟手机9键,给出每个单词的使用频率.现在给出按键的顺序,问每次按键后首字是什么(也就是要概率最大的 ...

  4. HDU 1298 T9 ( 字典树 )

    题意 : 给你 w 个单词以及他们的频率,现在给出模拟 9 键打字的一串数字,要你在其模拟打字的过程中给出不同长度的提示词,出现的提示词应当是之前频率最高的,当然提示词不需要完整的,也可以是 w 个单 ...

  5. HDU 1298 T9 字典树+DFS

    必须要批评下自己了,首先就是这个题目的迟疑不定,去年做字典树的时候就碰到这个题目了,当时没什么好的想法,就暂时搁置了,其实想法应该有很多,只是居然没想到. 同样都是对单词进行建树,并插入可能值,但是拨 ...

  6. hdu 1298 字典树 + DFS (模拟T9文本输入)

    题意:       给你一些按键顺序,让你输出每一步中概率最大的那个单词,这里的概率计算方 法好好看看别弄错了,一开始就是因为弄错了,各种wa,比如 abc 1 ,ab 1,那么 ab 的概率就是2 ...

  7. HDU——PKU题目分类

    HDU 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 ...

  8. [转] HDU 题目分类

    转载来自:http://www.cppblog.com/acronix/archive/2010/09/24/127536.aspx 分类一: 基础题:1000.1001.1004.1005.1008 ...

  9. 数据结构:HDU 2993 MAX Average Problem

    MAX Average Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

随机推荐

  1. Spark 2.x不支持ALTER TABLE ADD COLUMNS,没关系,我们改进下

    SparkSQL从2.0开始已经不再支持ALTER TABLE table_name ADD COLUMNS (col_name data_type [COMMENT col_comment], .. ...

  2. python 2.7 字符串处理

    python 2 字符串处理小结: 字符替换:new_str = old_str.replace(char_old, char_new)--可用于清除字符串中所有的空格 字符分割(正/反):str_n ...

  3. python绝技 — 扫描蓝牙RFCOMM信道

    RFCOMM协议 RFCOMM通过蓝牙L2CAP协议模拟了RS232串口.这会与另一台设备建立一个蓝牙连接,模拟一条普通的串行线缆,使用户能够用其他设备控制这一台设备,通过蓝牙打电话,发短信,读取手机 ...

  4. CSS3效果收集

    收集一些 CSS3 效果 1. 闪烁字效果 原效果>>

  5. orm2

    数据库连接 var orm = require("orm"); orm.connect("mysql://username:password@host/database& ...

  6. dev gridcontrol 绑定int型及日期型的列默认当值为0时显示空白及格式化日期显示方式

    xmlns:sys="clr-namespace:System;assembly=mscorlib" 如只显示日期的时间部分 <dxg:GridColumn Header=& ...

  7. 【C#】面试题整理

    1.C#中类是否支持多继承?请说明原因.答:不支持,需要用接口来实现多继承 2.我们都知道一个类可以有多个构造函数,并且C#会在我们创建类的时候默认的提供一个无参的构造函数,当我实现了另外一个有参数的 ...

  8. PQ分区魔术师v9.0 中文版

    软件名称: pqmagic 硬盘分区大师9.0中文绿色版 软件大小:5.80MB 软件语言:简体中文 软件类别:磁盘工具 软件授权:免费软件 更新时间:2013-10-082013-10-08 09: ...

  9. 疯狂java讲义--笔记

    第一章.Java语言概述与开发环境 什么是软件:一系列按照特定顺序组织的计算机数据和指令的集合: 交互方式:两种 GUI(Graphical User Interface) 图像界面 .CLI (Co ...

  10. PHP奇怪现象

    <?php $a = 0.29; $b = (int)($a*100); echo $b; //输出28,PHP版本5.6.24 echo 0.1 + 0.2 - 0.3; //输出5.5511 ...