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 ...
随机推荐
- 【CSS学习笔记】整齐的表格
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- GourdScan & sqlmapapi
0x01 Windows下配置GourdScan 0x0101 GourdScan项目地址:https://github.com/code-scan/GourdScan PHP环境 + ...
- SSH 一些错误的解决办法
1.主动访问的机器需要创建私钥和公钥 (client) #cd ~#mkdir .ssh#chmod 700 .ssh#cd .ssh#ssh-keygen -t rsa //一路回车,各种提示按默认 ...
- Racket中使用Y组合子
关于Y组合子,网上已经介绍很多了,其作用主要是解决匿名lambda的递归调用自己. 首先我们来看直观的递归lambda定义, 假设要定义阶乘的lambda表达,C#中需要这么定义 Func<in ...
- Java learning notes (1):Basic Knowlege points
Basic Knowlege points: 1: it's necessary that there is only one public class in per .java file 2: .j ...
- Openjudge-NOI题库-旅行-数论
题目描述 Description 转眼毕业了,曾经朝夕相处的同学们不得不都各奔东西,大家都去了不同的城市开始新的生活.在各自城市居住了一段时间后,他们都感到了一些厌倦,想去看看其他人的生活究竟如何,于 ...
- android 控件自定义样式
一.按钮(Button) 方式1.存在.9图片或图片时 可在drawable文件夹下新建xml文件style_button_one.xml,代码如下 <?xml version=" ...
- Beego学习笔记——开始
beego简介 beego是一个快速开发Go应用的http框架,他可以用来快速开发API.Web.后端服务等各种应用,是一个RESTFul的框架,主要设计灵感来源于tornado.sinatra.fl ...
- 如何让有物理键的手机在ActionBar始终显示更多菜单menu键
仅作记录代码用,功能未能测试成功,在低版本上不存在 sHasPermanentMenuKey 属性,会出现 java.lang.NoSuchFieldException: sHasPermanentM ...
- SeleniumServer3.0
package base.test.demo; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import ...